QUIC Protocol Implementation 1.0
A Python implementation of the QUIC (Quick UDP Internet Connections) protocol.
|
Public Member Functions | |
__init__ (self, int stream_id, bool is_usable) | |
bool | has_data (self) |
bool | is_terminal_state (self) |
Protected Member Functions | |
bool | _set_state (self, int state) |
_add_data_to_buffer (self, bytes data) | |
Protected Attributes | |
_state | |
_buffer | |
@brief Abstract base class for stream endpoints. @details Provides common functionality for sending and receiving endpoints of a QUIC stream.
stream.StreamEndpointABC.__init__ | ( | self, | |
int | stream_id, | ||
bool | is_usable | ||
) |
@brief Abstract Constructor for StreamEndpointABC abstract class. @param stream_id The stream ID of this endpoint. @param is_usable Specifies if the stream endpoint is 'usable'.
Reimplemented in stream.StreamSender, and stream.StreamReceiver.
Definition at line 138 of file stream.py.
References stream.StreamEndpointABC._buffer, stream.StreamSender._buffer, stream.StreamEndpointABC._state, stream.StreamSender._state, stream.StreamReceiver._state, and stream.Stream._stream_id.
|
protected |
@brief Add data to the buffer. @param data The data to add to the buffer.
Reimplemented in stream.StreamSender, and stream.StreamReceiver.
Definition at line 166 of file stream.py.
Referenced by stream.StreamSender.add_data_to_buffer().
|
protected |
@brief Set the state of the endpoint. @param state New state. @return True if _state was set successfully, False otherwise.
Definition at line 151 of file stream.py.
Referenced by stream.StreamReceiver._fin_recvd(), stream.StreamSender.generate_fin_frame(), stream.StreamReceiver.get_data_from_buffer(), and stream.StreamSender.send_next_frame().
bool stream.StreamEndpointABC.has_data | ( | self | ) |
bool stream.StreamEndpointABC.is_terminal_state | ( | self | ) |
@brief Check if the endpoint has reached a terminal state. @return True if the state is DATA_RECVD, False otherwise.
Definition at line 182 of file stream.py.
References stream.StreamEndpointABC._state, stream.StreamSender._state, and stream.StreamReceiver._state.
|
protected |
Definition at line 180 of file stream.py.
Referenced by stream.StreamEndpointABC.__init__(), stream.StreamReceiver._add_data_to_buffer(), stream.StreamSender.generate_fin_frame(), stream.StreamSender.generate_stream_frames(), and stream.StreamReceiver.get_data_from_buffer().
|
protected |
Definition at line 159 of file stream.py.
Referenced by stream.StreamEndpointABC.__init__(), stream.StreamReceiver._add_data_to_buffer(), stream.StreamReceiver.get_data_from_buffer(), and stream.StreamEndpointABC.is_terminal_state().