parent
38b8e71640
commit
601834d233
@ -1,13 +1,26 @@
|
||||
from typing import TYPE_CHECKING # pyright: ignore[reportShadowedImports]
|
||||
|
||||
from trezor.wire.thp.channel import Channel
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from trezor.messages import ThpCreateNewSession, ThpNewSession
|
||||
from trezor import log, loop
|
||||
from trezor.messages import ThpCreateNewSession, ThpNewSession
|
||||
from trezor.wire.thp import SessionState, channel
|
||||
from trezor.wire.thp.session_context import SessionContext
|
||||
|
||||
|
||||
async def create_new_session(
|
||||
channel: Channel, message: ThpCreateNewSession
|
||||
channel: channel.Channel, message: ThpCreateNewSession
|
||||
) -> 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)
|
||||
|
@ -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