1
0
Fork 0

comm/transport/datagrams: add msg_type map for deserialize

main
Felix Stupp 2 years ago
parent b5d62a7778
commit 3ab522baf8
Signed by: zocker
GPG Key ID: 93E1BD26F6B02FB7

@ -1,10 +1,12 @@
from __future__ import annotations from __future__ import annotations
from collections.abc import ( from collections.abc import (
Mapping,
Sequence, Sequence,
) )
from typing import ( from typing import (
Literal, Literal,
Type,
) )
from attrs import ( from attrs import (
@ -159,3 +161,14 @@ class RestartDatagram(GeneralTransportDatagram):
class TransmitDatagram(GeneralTransportDatagram): class TransmitDatagram(GeneralTransportDatagram):
message_type: Literal["transmit"] = "transmit" message_type: Literal["transmit"] = "transmit"
data: JSON data: JSON
MESSAGE_TYPE_MAP: Mapping[str, Type[GeneralTransportDatagram]] = {
"connect": ConnectDatagram,
"disconnect": DisconnectDatagram,
"duplicate_sender": DuplicateSenderDatagram,
"replace_sender": ReplaceSenderDatagram,
"failure": FailureDatagram,
"restart": RestartDatagram,
"transmit": TransmitDatagram,
}

Loading…
Cancel
Save