Source code for faust.agents.models

"""Models used by agents internally."""
from typing import Any

from faust.models import Record
from faust.types import K, ModelT

__all__ = ['ReqRepRequest', 'ReqRepResponse']


[docs]class ReqRepRequest(Record, serializer='json', namespace='@ReqRepRequest', # internal namespace # any stream should allow this type # to wrap other values. polymorphic_fields=True): """Value wrapped in a Request-Reply request.""" # agent.ask(value) wraps the value in this record # so that the receiving agent knows where to send the reply. value: Any reply_to: str correlation_id: str
class ModelReqRepRequest(ReqRepRequest): """Request-Reply request where value is a model.""" value: ModelT
[docs]class ReqRepResponse(Record, serializer='json', namespace='@ReqRepResponse'): """Request-Reply response.""" key: K value: Any correlation_id: str
class ModelReqRepResponse(ReqRepResponse): value: Any