|
1 | | -DEFAULT_TRANSPORT = None |
2 | | - |
3 | | - |
4 | | -class MessageCodec(object): |
5 | | - """Abstract base class for message codecs. |
6 | | -
|
7 | | - A codec is responsible for encoding and decoding messages |
8 | | - to/from a specific representation format (e.g., JSON, Protocol Buffers). |
9 | | - """ |
10 | | - |
11 | | - def encode(self, message): |
12 | | - """Encode a message to the codec's representation format. |
13 | | -
|
14 | | - Parameters |
15 | | - ---------- |
16 | | - message : :class:`Message` or dict or object |
17 | | - Message to encode. Can be a Message instance, a dict, or |
18 | | - an object implementing the COMPAS data framework. |
19 | | -
|
20 | | - Returns |
21 | | - ------- |
22 | | - bytes or str |
23 | | - Encoded representation of the message. |
24 | | - """ |
25 | | - raise NotImplementedError("Subclasses must implement encode()") |
26 | | - |
27 | | - def decode(self, encoded_data, message_type): |
28 | | - """Decode data from the codec's representation format. |
29 | | -
|
30 | | - Parameters |
31 | | - ---------- |
32 | | - encoded_data : bytes or str |
33 | | - Encoded data to decode. |
34 | | - message_type : type |
35 | | - The message type class to use for parsing. |
| 1 | +from compas_eve.codecs import JsonMessageCodec |
36 | 2 |
|
37 | | - Returns |
38 | | - ------- |
39 | | - :class:`Message` |
40 | | - Decoded message object. |
41 | | - """ |
42 | | - raise NotImplementedError("Subclasses must implement decode()") |
| 3 | +DEFAULT_TRANSPORT = None |
43 | 4 |
|
44 | 5 |
|
45 | 6 | def get_default_transport(): |
@@ -80,11 +41,7 @@ class Transport(object): |
80 | 41 | def __init__(self, codec=None, *args, **kwargs): |
81 | 42 | super(Transport, self).__init__(*args, **kwargs) |
82 | 43 | self._id_counter = 0 |
83 | | - if codec is None: |
84 | | - from compas_eve.codecs import JsonMessageCodec |
85 | | - |
86 | | - codec = JsonMessageCodec() |
87 | | - self.codec = codec |
| 44 | + self.codec = codec or JsonMessageCodec() |
88 | 45 |
|
89 | 46 | @property |
90 | 47 | def id_counter(self): |
|
0 commit comments