"""Represents an explicit RFC 15 ack message, adopted into present-proof protocol."""
from marshmallow import EXCLUDE, fields
from .....messaging.agent_message import AgentMessage, AgentMessageSchema
from ..message_types import NOTIF_10_ACK, PROTOCOL_PACKAGE
HANDLER_CLASS = f"{PROTOCOL_PACKAGE}.handlers.ack_handler.V10AckHandler"
[docs]class V10Ack(AgentMessage):
"""Base class representing an explicit ack message for no specific protocol."""
def __init__(self, status: str = None, **kwargs):
"""Initialize an explicit ack message instance.
Args:
status: Status (default OK)
"""
super().__init__(**kwargs)
self.status = status or "OK"
[docs]class V10AckSchema(AgentMessageSchema):
"""Schema for V10Ack class."""
status = fields.Str(
required=True, metadata={"description": "Status", "example": "OK"}
)