Source code for faust.types.events

import abc
import typing
from typing import Any, Awaitable, Mapping, Optional, 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


[docs]class EventT(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: ...