forked from dapr/python-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbase.py
55 lines (42 loc) · 1.37 KB
/
base.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# -*- coding: utf-8 -*-
"""
Copyright (c) Microsoft Corporation.
Licensed under the MIT License.
"""
from abc import ABC, abstractmethod
from typing import Optional
DEFAULT_ENCODING = 'utf-8'
DEFAULT_JSON_CONTENT_TYPE = f'application/json; charset={DEFAULT_ENCODING}'
class DaprActorClientBase(ABC):
"""A base class that represents Dapr Actor Client.
"""
@abstractmethod
async def invoke_method(
self, actor_type: str, actor_id: str,
method: str, data: Optional[bytes] = None) -> bytes:
...
@abstractmethod
async def save_state_transactionally(
self, actor_type: str, actor_id: str,
data: bytes) -> None:
...
@abstractmethod
async def get_state(
self, actor_type: str, actor_id: str, name: str) -> bytes:
...
@abstractmethod
async def register_reminder(
self, actor_type: str, actor_id: str, name: str, data: bytes) -> None:
...
@abstractmethod
async def unregister_reminder(
self, actor_type: str, actor_id: str, name: str) -> None:
...
@abstractmethod
async def register_timer(
self, actor_type: str, actor_id: str, name: str, data: bytes) -> None:
...
@abstractmethod
async def unregister_timer(
self, actor_type: str, actor_id: str, name: str) -> None:
...