Skip to content

Commit e874de3

Browse files
committed
rpc_client: auto increment request ID
Automatically increment the request ID on each command run. Signed-off-by: Jordan Yates <jordan@embeint.com>
1 parent a71436e commit e874de3

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/infuse_iot/rpc_client.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ def __init__(
2424
infuse_id: int,
2525
rx_cb: Callable[[ClientNotification], None] | None = None,
2626
):
27-
self._request_id = random.randint(0, 2**32 - 1)
27+
self._request_id = random.randint(0, 2**31 - 1)
2828
self._client = client
2929
self._id = infuse_id
3030
self._max_payload = max_payload
@@ -90,6 +90,7 @@ def run_data_send_cmd(
9090
progress_cb: Callable[[int], None] | None,
9191
rsp_decoder: Callable[[bytes], ctypes.LittleEndianStructure],
9292
) -> tuple[rpc.ResponseHeader, ctypes.LittleEndianStructure]:
93+
self._request_id += 1
9394
ack_period = 1
9495
header = rpc.RequestHeader(self._request_id, cmd_id) # type: ignore
9596
data_hdr = rpc.RequestDataHeader(len(data), ack_period)
@@ -151,6 +152,7 @@ def run_data_recv_cmd(
151152
recv_cb: Callable[[int, bytes], None],
152153
rsp_decoder: Callable[[bytes], ctypes.LittleEndianStructure],
153154
) -> tuple[rpc.ResponseHeader, ctypes.LittleEndianStructure]:
155+
self._request_id += 1
154156
header = rpc.RequestHeader(self._request_id, cmd_id)
155157
data_hdr = rpc.RequestDataHeader(0xFFFFFFFF, 0)
156158

@@ -194,6 +196,7 @@ def run_data_recv_cmd(
194196
def run_standard_cmd(
195197
self, cmd_id: int, auth: Auth, params: bytes, rsp_decoder: Callable[[bytes], ctypes.LittleEndianStructure]
196198
) -> tuple[rpc.ResponseHeader, ctypes.LittleEndianStructure]:
199+
self._request_id += 1
197200
header = rpc.RequestHeader(self._request_id, cmd_id) # type: ignore
198201

199202
request_packet = bytes(header) + params

0 commit comments

Comments
 (0)