Change `async def write`

To return `None` instead of `int. `Writer.write` *does* write all data
in all use case.
pull/405/head
mhchia 2020-02-07 18:33:15 +08:00
parent 1152f9b703
commit fb53edbc04
No known key found for this signature in database
GPG Key ID: 389EFBEA1362589A
7 changed files with 10 additions and 14 deletions

View File

@ -14,7 +14,7 @@ class Reader(ABC):
class Writer(ABC):
@abstractmethod
async def write(self, data: bytes) -> int:
async def write(self, data: bytes) -> None:
...

View File

@ -31,9 +31,8 @@ class MsgIOWriter(WriteCloser):
def __init__(self, write_closer: WriteCloser) -> None:
self.write_closer = write_closer
async def write(self, data: bytes) -> int:
async def write(self, data: bytes) -> None:
await self.write_msg(data)
return len(data)
async def write_msg(self, msg: bytes) -> None:
data = encode_msg_with_length(msg)

View File

@ -51,14 +51,14 @@ class NetStream(INetStream):
except MuxedStreamReset as error:
raise StreamReset() from error
async def write(self, data: bytes) -> int:
async def write(self, data: bytes) -> None:
"""
write to stream.
:return: number of bytes written
"""
try:
return await self.muxed_stream.write(data)
await self.muxed_stream.write(data)
except MuxedStreamClosed as error:
raise StreamClosed() from error

View File

@ -27,8 +27,8 @@ class NoiseConnection(BaseSession):
async def read(self, n: int = None) -> bytes:
return await self.conn.read(n)
async def write(self, data: bytes) -> int:
return await self.conn.write(data)
async def write(self, data: bytes) -> None:
await self.conn.write(data)
async def close(self) -> None:
await self.conn.close()

View File

@ -135,9 +135,8 @@ class SecureSession(BaseSession):
raise DecryptionFailedException() from e
return decrypted_msg
async def write(self, data: bytes) -> int:
async def write(self, data: bytes) -> None:
await self.write_msg(data)
return len(data)
async def write_msg(self, msg: bytes) -> None:
encrypted_data = self.local_encrypter.encrypt(msg)

View File

@ -160,7 +160,7 @@ class Mplex(IMuxedConn):
return await self.write_to_stream(_bytes)
async def write_to_stream(self, _bytes: bytes) -> int:
async def write_to_stream(self, _bytes: bytes) -> None:
"""
writes a byte array to a secured connection.
@ -174,8 +174,6 @@ class Mplex(IMuxedConn):
"failed to write message to the underlying connection"
) from e
return len(_bytes)
async def handle_incoming(self) -> None:
"""Read a message off of the secured connection and add it to the
corresponding message buffer."""

View File

@ -134,7 +134,7 @@ class MplexStream(IMuxedStream):
self._buf = self._buf[len(payload) :]
return bytes(payload)
async def write(self, data: bytes) -> int:
async def write(self, data: bytes) -> None:
"""
write to stream.
@ -147,7 +147,7 @@ class MplexStream(IMuxedStream):
if self.is_initiator
else HeaderTags.MessageReceiver
)
return await self.muxed_conn.send_message(flag, data, self.stream_id)
await self.muxed_conn.send_message(flag, data, self.stream_id)
async def close(self) -> None:
"""Closing a stream closes it for writing and closes the remote end for