diff --git a/enjo_lib/comm/method/interface.py b/enjo_lib/comm/method/interface.py index a7b51fc..c2648d2 100644 --- a/enjo_lib/comm/method/interface.py +++ b/enjo_lib/comm/method/interface.py @@ -14,10 +14,6 @@ from typing import ( TypeAlias, ) -from ...our_types import ( - JSON, -) - class TransmissionSuccess(Enum): UNKNOWN_ERROR = auto() @@ -25,13 +21,13 @@ class TransmissionSuccess(Enum): SUBMITTED_SUCCESSFULLY = auto() -MessageHandler: TypeAlias = Callable[[JSON], Awaitable[None]] +MessageHandler: TypeAlias = Callable[[bytes], Awaitable[None]] class TransportMethod(ABC): @abstractmethod - async def send(self, data: JSON) -> TransmissionSuccess: ... + async def send(self, data: bytes) -> TransmissionSuccess: ... @abstractmethod def on_receive(self, handler: MessageHandler) -> None: diff --git a/enjo_lib/comm/method/internal.py b/enjo_lib/comm/method/internal.py index f9a37aa..4bea541 100644 --- a/enjo_lib/comm/method/internal.py +++ b/enjo_lib/comm/method/internal.py @@ -8,7 +8,6 @@ from .interface import ( TransportMethod, TransmissionSuccess, ) -from ...our_types import JSON class InternalTransport(TransportMethod): @@ -20,7 +19,7 @@ class InternalTransport(TransportMethod): __recv_handler: MessageHandler | None = None __send_handler: MessageHandler | None = None - async def send(self, data: JSON) -> TransmissionSuccess: + async def send(self, data: bytes) -> TransmissionSuccess: if self.__send_handler is None: return TransmissionSuccess.EXCHANGE_UNAVAILABLE await self.__send_handler(data) @@ -29,7 +28,7 @@ class InternalTransport(TransportMethod): def on_receive(self, handler: MessageHandler) -> None: self.__recv_handler = handler - async def _submit(self, data: JSON) -> None: + async def _submit(self, data: bytes) -> None: if self.__recv_handler is None: return await self.__recv_handler(data) @@ -42,7 +41,7 @@ class InternalExchanger: __transports = set[InternalTransport]() - async def __send_handler(self, sender: InternalTransport, data: JSON) -> None: + async def __send_handler(self, sender: InternalTransport, data: bytes) -> None: async with asyncio.TaskGroup() as group: for receiver in self.__transports: if receiver is sender: diff --git a/test/comm/method/internal_test.py b/test/comm/method/internal_test.py index 123e8d4..f3579d3 100644 --- a/test/comm/method/internal_test.py +++ b/test/comm/method/internal_test.py @@ -38,12 +38,12 @@ class InternalTransportTwoPeers(IsolatedAsyncioTestCase): mock_bob = AsyncCallableMock() peer_bob.on_receive(mock_bob) # send from Alice to Bob - await peer_alice.send("test Alice -> Bob") + await peer_alice.send(b"test Alice -> Bob") mock_alice.assert_not_called() - mock_bob.assert_called_once_with("test Alice -> Bob") + mock_bob.assert_called_once_with(b"test Alice -> Bob") mock_alice.reset_mock() mock_bob.reset_mock() # send from Bob to Alice - await peer_bob.send("test Bob -> Alice") - mock_alice.assert_called_once_with("test Bob -> Alice") + await peer_bob.send(b"test Bob -> Alice") + mock_alice.assert_called_once_with(b"test Bob -> Alice") mock_bob.assert_not_called()