mirror of
https://github.com/varun-r-mallya/py-libp2p.git
synced 2026-02-10 07:00:54 +00:00
Migrate to new project structure.
This commit is contained in:
26
libp2p/protocol_muxer/multiselect_communicator.py
Normal file
26
libp2p/protocol_muxer/multiselect_communicator.py
Normal file
@ -0,0 +1,26 @@
|
||||
from .multiselect_communicator_interface import IMultiselectCommunicator
|
||||
|
||||
|
||||
class MultiselectCommunicator(IMultiselectCommunicator):
|
||||
"""
|
||||
Communicator helper class that ensures both the client
|
||||
and multistream module will follow the same multistream protocol,
|
||||
which is necessary for them to work
|
||||
"""
|
||||
|
||||
def __init__(self, stream):
|
||||
self.stream = stream
|
||||
|
||||
async def write(self, msg_str):
|
||||
"""
|
||||
Write message to stream
|
||||
:param msg_str: message to write
|
||||
"""
|
||||
await self.stream.write(msg_str.encode())
|
||||
|
||||
async def read_stream_until_eof(self):
|
||||
"""
|
||||
Reads message from stream until EOF
|
||||
"""
|
||||
read_str = (await self.stream.read()).decode()
|
||||
return read_str
|
||||
Reference in New Issue
Block a user