add typing to protocol_muxer

This commit is contained in:
Chih Cheng Liang
2019-08-07 18:02:30 +08:00
committed by Kevin Mai-Husan Chia
parent 0d709364f8
commit 5903012e0e
13 changed files with 72 additions and 43 deletions

View File

@ -1,4 +1,8 @@
from abc import ABC, abstractmethod
from typing import Sequence
from libp2p.stream_muxer.abc import IMuxedStream
from libp2p.typing import TProtocol
class IMultiselectClient(ABC):
@ -8,7 +12,7 @@ class IMultiselectClient(ABC):
"""
@abstractmethod
def select_protocol_or_fail(self, protocol, stream):
async def select_protocol_or_fail(self, protocol: TProtocol, stream: IMuxedStream) -> TProtocol:
"""
Send message to multiselect selecting protocol
and fail if multiselect does not return same protocol
@ -18,7 +22,9 @@ class IMultiselectClient(ABC):
"""
@abstractmethod
def select_one_of(self, protocols, stream):
async def select_one_of(
self, protocols: Sequence[TProtocol], stream: IMuxedStream
) -> TProtocol:
"""
For each protocol, send message to multiselect selecting protocol
and fail if multiselect does not return same protocol. Returns first