py-libp2p/libp2p/network/connection/raw_connection_interface.py
mhchia ef476e555b
Use RawConnection.read
Instead of accessing its reader and writer directly.

TODO: considering add `ReaderWriterCloser` interface and let connection
and stream inherit from it.
2019-08-22 22:53:48 +08:00

26 lines
452 B
Python

from abc import ABC, abstractmethod
class IRawConnection(ABC):
"""
A Raw Connection provides a Reader and a Writer
"""
initiator: bool
@abstractmethod
async def write(self, data: bytes) -> None:
pass
@abstractmethod
async def read(self, n: int = -1) -> bytes:
pass
@abstractmethod
def close(self) -> None:
pass
@abstractmethod
def next_stream_id(self) -> int:
pass