1
- import abc
2
1
import concurrent .futures
3
2
import enum
4
- import io
5
3
import datetime
6
4
from dataclasses import dataclass
7
5
from typing import (
8
6
Union ,
9
7
Optional ,
10
8
List ,
11
- Mapping ,
12
- Callable ,
13
9
Iterable ,
14
- AsyncIterable ,
15
- AsyncContextManager ,
16
- Any , Dict ,
17
10
)
18
11
19
- from ydb import RetrySettings
20
- from ydb ._topic_wrapper .common import OffsetsRange , TokenGetterFuncType
21
- from ydb ._topic_wrapper .reader import StreamReadMessage
12
+ from ..table import RetrySettings
13
+ from .datatypes import ICommittable , PublicBatch , PublicMessage
14
+ from .._topic_wrapper .common import OffsetsRange , TokenGetterFuncType
15
+ from .._topic_wrapper .reader import StreamReadMessage
22
16
23
17
24
18
class Selector :
@@ -47,7 +41,9 @@ async def sessions_stat(self) -> List["SessionStat"]:
47
41
"""
48
42
raise NotImplementedError ()
49
43
50
- def messages (self , * , timeout : Union [float , None ] = None ) -> Iterable ["PublicMessage" ]:
44
+ def messages (
45
+ self , * , timeout : Union [float , None ] = None
46
+ ) -> Iterable [PublicMessage ]:
51
47
"""
52
48
todo?
53
49
@@ -59,7 +55,7 @@ def messages(self, *, timeout: Union[float, None] = None) -> Iterable["PublicMes
59
55
"""
60
56
raise NotImplementedError ()
61
57
62
- def receive_message (self , * , timeout : Union [float , None ] = None ) -> " PublicMessage" :
58
+ def receive_message (self , * , timeout : Union [float , None ] = None ) -> PublicMessage :
63
59
"""
64
60
Block until receive new message
65
61
It has no async_ version for prevent lost messages, use async_wait_message as signal for new batches available.
@@ -85,7 +81,7 @@ def batches(
85
81
max_messages : Union [int , None ] = None ,
86
82
max_bytes : Union [int , None ] = None ,
87
83
timeout : Union [float , None ] = None ,
88
- ) -> Iterable [" PublicBatch" ]:
84
+ ) -> Iterable [PublicBatch ]:
89
85
"""
90
86
Block until receive new batch.
91
87
It has no async_ version for prevent lost messages, use async_wait_message as signal for new batches available.
@@ -101,7 +97,7 @@ def receive_batch(
101
97
max_messages : Union [int , None ] = None ,
102
98
max_bytes : Union [int , None ],
103
99
timeout : Union [float , None ] = None ,
104
- ) -> Union [" PublicBatch" , None ]:
100
+ ) -> Union [PublicBatch , None ]:
105
101
"""
106
102
Get one messages batch from reader
107
103
It has no async_ version for prevent lost messages, use async_wait_message as signal for new batches available.
@@ -111,7 +107,7 @@ def receive_batch(
111
107
"""
112
108
raise NotImplementedError ()
113
109
114
- def commit (self , mess : " ICommittable" ):
110
+ def commit (self , mess : ICommittable ):
115
111
"""
116
112
Put commit message to internal buffer.
117
113
@@ -121,7 +117,7 @@ def commit(self, mess: "ICommittable"):
121
117
raise NotImplementedError ()
122
118
123
119
def commit_with_ack (
124
- self , mess : " ICommittable"
120
+ self , mess : ICommittable
125
121
) -> Union ["CommitResult" , List ["CommitResult" ]]:
126
122
"""
127
123
write commit message to a buffer and wait ack from the server.
@@ -131,7 +127,7 @@ def commit_with_ack(
131
127
raise NotImplementedError ()
132
128
133
129
def async_commit_with_ack (
134
- self , mess : " ICommittable"
130
+ self , mess : ICommittable
135
131
) -> Union ["CommitResult" , List ["CommitResult" ]]:
136
132
"""
137
133
write commit message to a buffer and return Future for wait result.
@@ -184,7 +180,7 @@ def _init_message(self) -> StreamReadMessage.InitRequest:
184
180
consumer = self .consumer ,
185
181
)
186
182
187
- def _retry_settings (self )-> RetrySettings :
183
+ def _retry_settings (self ) -> RetrySettings :
188
184
return RetrySettings (idempotent = True )
189
185
190
186
0 commit comments