mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-11-15 20:19:23 +00:00
Fix buffer in channelContext
This commit is contained in:
parent
bb15aef35e
commit
2400cc3269
@ -64,6 +64,9 @@ class ChannelContext(Context):
|
||||
def set_channel_state(self, state: ChannelState) -> None:
|
||||
self.channel_cache.state = bytearray(state.value.to_bytes(1, "big"))
|
||||
|
||||
def set_buffer(self, buffer: utils.BufferType) -> None:
|
||||
self.buffer = buffer
|
||||
|
||||
# CALLED BY THP_MAIN_LOOP
|
||||
|
||||
async def receive_packet(self, packet: utils.BufferType):
|
||||
@ -239,11 +242,13 @@ class ChannelContext(Context):
|
||||
return THP.sync_get_send_bit(self.channel_cache) != sync_bit
|
||||
|
||||
|
||||
def load_cached_channels() -> dict[int, ChannelContext]: # TODO
|
||||
def load_cached_channels(buffer: utils.BufferType) -> dict[int, ChannelContext]: # TODO
|
||||
channels: dict[int, ChannelContext] = {}
|
||||
cached_channels = cache_thp.get_all_allocated_channels()
|
||||
for c in cached_channels:
|
||||
channels[int.from_bytes(c.channel_id, "big")] = ChannelContext(c)
|
||||
for c in channels.values():
|
||||
c.set_buffer(buffer)
|
||||
return channels
|
||||
|
||||
|
||||
|
@ -58,7 +58,8 @@ def set_buffer(buffer):
|
||||
|
||||
async def thp_main_loop(iface: WireInterface, is_debug_session=False):
|
||||
global _CHANNEL_CONTEXTS
|
||||
_CHANNEL_CONTEXTS = load_cached_channels()
|
||||
global _BUFFER
|
||||
_CHANNEL_CONTEXTS = load_cached_channels(_BUFFER)
|
||||
|
||||
read = loop.wait(iface.iface_num() | io.POLL_READ)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user