kopia lustrzana https://github.com/Yakifo/amqtt
add get_peer_info() and close() coroutines
rodzic
bdb0f2e4e5
commit
db5a9fd5d1
|
@ -41,6 +41,16 @@ class WriterAdapter:
|
||||||
Let the write buffer of the underlying transport a chance to be flushed.
|
Let the write buffer of the underlying transport a chance to be flushed.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
def get_peer_info(self):
|
||||||
|
"""
|
||||||
|
Return peer socket info (remote address and remote port as tuple
|
||||||
|
"""
|
||||||
|
|
||||||
|
@asyncio.coroutine
|
||||||
|
def close(self):
|
||||||
|
"""
|
||||||
|
Close the protocol connection
|
||||||
|
"""
|
||||||
|
|
||||||
class WebSocketsReader(ReaderAdapter):
|
class WebSocketsReader(ReaderAdapter):
|
||||||
"""
|
"""
|
||||||
|
@ -94,6 +104,14 @@ class WebSocketsWriter(WriterAdapter):
|
||||||
yield from self._protocol.send(self._stream.getbuffer())
|
yield from self._protocol.send(self._stream.getbuffer())
|
||||||
self._stream = io.BytesIO(b'')
|
self._stream = io.BytesIO(b'')
|
||||||
|
|
||||||
|
def get_peer_info(self):
|
||||||
|
extra_info = self._protocol.writer.get_extra_info('peername')
|
||||||
|
return extra_info[0], extra_info[1]
|
||||||
|
|
||||||
|
@asyncio.coroutine
|
||||||
|
def close(self):
|
||||||
|
yield from self._protocol.close()
|
||||||
|
|
||||||
|
|
||||||
class StreamReaderAdapter(ReaderAdapter):
|
class StreamReaderAdapter(ReaderAdapter):
|
||||||
"""
|
"""
|
||||||
|
@ -125,6 +143,14 @@ class StreamWriterAdapter(WriterAdapter):
|
||||||
def drain(self):
|
def drain(self):
|
||||||
yield from self._writer.drain()
|
yield from self._writer.drain()
|
||||||
|
|
||||||
|
def get_peer_info(self):
|
||||||
|
extra_info = self._writer.get_extra_info('peername')
|
||||||
|
return extra_info[0], extra_info[1]
|
||||||
|
|
||||||
|
@asyncio.coroutine
|
||||||
|
def close(self):
|
||||||
|
self._writer.close()
|
||||||
|
|
||||||
|
|
||||||
class BufferReader(ReaderAdapter):
|
class BufferReader(ReaderAdapter):
|
||||||
"""
|
"""
|
||||||
|
@ -159,3 +185,10 @@ class BufferWriter(WriterAdapter):
|
||||||
|
|
||||||
def get_buffer(self):
|
def get_buffer(self):
|
||||||
return self._stream.getbuffer()
|
return self._stream.getbuffer()
|
||||||
|
|
||||||
|
def get_peer_info(self):
|
||||||
|
return "BufferWriter", 0
|
||||||
|
|
||||||
|
@asyncio.coroutine
|
||||||
|
def close(self):
|
||||||
|
self._stream.close()
|
||||||
|
|
Ładowanie…
Reference in New Issue