MCPcopy Create free account
hub / github.com/EmbeddedRPC/erpc / BasicCodec

Class BasicCodec

erpc_python/erpc/basic_codec.py:13–166  ·  view source on GitHub ↗

Version of this codec. Args: Codec (code.Codec): Inherit and implement codec interface functions.

Source from the content-addressed store, hash-verified

11
12
13class BasicCodec(Codec):
14 """Version of this codec.
15
16 Args:
17 Codec (code.Codec): Inherit and implement codec interface functions.
18 """
19
20 BASIC_CODEC_VERSION = 1
21
22 def start_write_message(self, msgInfo):
23 header = (self.BASIC_CODEC_VERSION << 24) \
24 | ((msgInfo.service & 0xff) << 16) \
25 | ((msgInfo.request & 0xff) << 8) \
26 | (msgInfo.type.value & 0xff)
27 self.write_uint32(header)
28 self.write_uint32(msgInfo.sequence)
29
30 def _write(self, fmt, value):
31 self._buffer += struct.pack(fmt, value)
32 self._cursor += struct.calcsize(fmt)
33
34 def write_bool(self, value):
35 self._write('<?', value)
36
37 def write_int8(self, value):
38 self._write('<b', value)
39
40 def write_int16(self, value):
41 self._write('<h', value)
42
43 def write_int32(self, value):
44 self._write('<i', value)
45
46 def write_int64(self, value):
47 self._write('<q', value)
48
49 def write_uint8(self, value):
50 self._write('<B', value)
51
52 def write_uint16(self, value):
53 self._write('<H', value)
54
55 def write_uint32(self, value):
56 self._write('<I', value)
57
58 def write_uint64(self, value):
59 self._write('<Q', value)
60
61 def write_float(self, value):
62 self._write('<f', value)
63
64 def write_double(self, value):
65 self._write('<d', value)
66
67 def write_string(self, value):
68 self.write_binary(value.encode())
69
70 def write_binary(self, value):

Callers 1

build_transportMethod · 0.90

Calls

no outgoing calls

Tested by 1

build_transportMethod · 0.72