parent
38b8e71640
commit
601834d233
@ -1,13 +1,26 @@
|
|||||||
from typing import TYPE_CHECKING # pyright: ignore[reportShadowedImports]
|
from trezor import log, loop
|
||||||
|
from trezor.messages import ThpCreateNewSession, ThpNewSession
|
||||||
from trezor.wire.thp.channel import Channel
|
from trezor.wire.thp import SessionState, channel
|
||||||
|
from trezor.wire.thp.session_context import SessionContext
|
||||||
if TYPE_CHECKING:
|
|
||||||
from trezor.messages import ThpCreateNewSession, ThpNewSession
|
|
||||||
|
|
||||||
|
|
||||||
async def create_new_session(
|
async def create_new_session(
|
||||||
channel: Channel, message: ThpCreateNewSession
|
channel: channel.Channel, message: ThpCreateNewSession
|
||||||
) -> ThpNewSession:
|
) -> ThpNewSession:
|
||||||
new_session_id: int = channel.create_new_session(message.passphrase)
|
|
||||||
|
session = SessionContext.create_new_session(channel)
|
||||||
|
session.set_session_state(SessionState.ALLOCATED)
|
||||||
|
channel.sessions[session.session_id] = session
|
||||||
|
loop.schedule(session.handle())
|
||||||
|
new_session_id: int = session.session_id
|
||||||
|
|
||||||
|
if __debug__:
|
||||||
|
log.debug(
|
||||||
|
__name__,
|
||||||
|
"create_new_session - new session created. Passphrase: %s, Session id: %d",
|
||||||
|
message.passphrase,
|
||||||
|
session.session_id,
|
||||||
|
)
|
||||||
|
print(channel.sessions)
|
||||||
|
|
||||||
return ThpNewSession(new_session_id=new_session_id)
|
return ThpNewSession(new_session_id=new_session_id)
|
||||||
|
@ -0,0 +1,16 @@
|
|||||||
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
|
from trezor import protobuf
|
||||||
|
|
||||||
|
from apps.thp import create_session
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
from typing import Any, Callable, Coroutine
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def get_handler(
|
||||||
|
msg: protobuf.MessageType,
|
||||||
|
) -> Callable[[Any, Any], Coroutine[Any, Any, protobuf.MessageType]]:
|
||||||
|
return create_session.create_new_session
|
Loading…
Reference in new issue