Source code for faust.types.events
import abc
import typing
from typing import Any, Awaitable, Generic, Mapping, Optional, TypeVar, Union
from mode.utils.typing import AsyncContextManager
from .codecs import CodecArg
from .core import HeadersArg, K, V
from .tuples import Message, MessageSentCallback, RecordMetadata
if typing.TYPE_CHECKING:
from .app import AppT as _AppT
from .channels import ChannelT as _ChannelT
from .serializers import SchemaT as _SchemaT
else:
class _AppT: ... # noqa
class _ChannelT: ... # noqa
class _SchemaT: ... # noqa
T = TypeVar('T')
[docs]class EventT(Generic[T], AsyncContextManager):
app: _AppT
key: K
value: V
headers: Mapping
message: Message
acked: bool
__slots__ = ('app', 'key', 'value', 'headers', 'message', 'acked')
@abc.abstractmethod
def __init__(self,
app: _AppT,
key: K,
value: V,
headers: Optional[HeadersArg],
message: Message) -> None:
...
[docs] @abc.abstractmethod
async def send(self,
channel: Union[str, _ChannelT],
key: K = None,
value: V = None,
partition: int = None,
timestamp: float = None,
headers: HeadersArg = None,
schema: _SchemaT = None,
key_serializer: CodecArg = None,
value_serializer: CodecArg = None,
callback: MessageSentCallback = None,
force: bool = False) -> Awaitable[RecordMetadata]:
...
[docs] @abc.abstractmethod
async def forward(self,
channel: Union[str, _ChannelT],
key: Any = None,
value: Any = None,
partition: int = None,
timestamp: float = None,
headers: HeadersArg = None,
schema: _SchemaT = None,
key_serializer: CodecArg = None,
value_serializer: CodecArg = None,
callback: MessageSentCallback = None,
force: bool = False) -> Awaitable[RecordMetadata]:
...
[docs] @abc.abstractmethod
def ack(self) -> bool:
...