Reader¶
You should not make an instance of the WebSocketReader class yourself, rather you should only make use of it through a
callback registerd with message()
>>> @client.message
>>> async def on_message(reader: WebSocketReader):
... # Read from the reader here...
... print(await reader.get())
-
class
websocket.stream.reader.WebSocketReader(kind, client, loop)[source]¶ Variables: data_type – The type of data frame the client sent us, this is the default kind for get().-
at_eof()¶ Returns: True iff there is no more data to read AND we have been fed end of file.
-
empty()¶ Returns: True iff there is no more data to read.
-
feed_eof()¶ Feed the buffer with end of file
-
get(kind=None)[source]¶ Reads all of the bytes from the stream.
Parameters: kind ( DataType) – Specifies the type of data returned, default isdata_typeReturns: bytesif kind is DataType.BINARY,strif kind is DataType.TEXT
-
read(n=-1, chunksize=None)¶ Read data from the buffer. Reads until eof or n bytes.
Parameters: n – The amount of data to read. Returns: A bytearraywith the data
-
read_into(buffer, n, offset=0)¶ Read data from the buffer into a bytearray. Reads until eof or n bytes.
n must not exceed the buffer limit, or else it will block forever.
Parameters: - buffer – The bytearray to write the data into.
- n – The amount of data to read.
- offset – The index into buffer to write to.
-
read_into_exactly(buffer, n, offset=0)¶ Read data from the buffer into a bytearray. Reads n bytes or throws an exception if reading eof.
n must not exceed the buffer limit, or else it will block forever.
Parameters: - buffer – The bytearray to write the data into.
- n – The amount of data to read.
-
set_exception(exc)¶ Set an exception to raise at next read.
-
write(data)¶ Write some data to the buffer, length must not exceed the buffer limit, or else it will block forever.
Parameters: data (iterable of bytes) – The data to write
-