QuicSenderStream
and QuicReceiverStream.
| Modifier and Type | Class and Description |
|---|---|
| public static enum | QuicBidiStream.
The state of a bidirectional stream can be obtained by combining the state of its sending part and receiving part.</quote> |
| Modifier and Type | Method and Description |
|---|---|
| public default QuicBidiStream. | Returns: a composed simplified state computed from the state of the receiving part and sending part of the streamReturns a composed simplified state computed from the state of the receiving part and sending part of the stream. |
| public default boolean | hasError()
Overrides default jdk. Implements jdk. Returns true if the stream has errors. |
| public default QuicStream. | state()
Implements jdk. Returns the combined stream state. |
| getBidiStreamState | back to summary |
|---|---|
| public default QuicBidiStream. Returns a composed simplified state computed from the state of the receiving part and sending part of the stream. See RFC 9000, [Section 3.4] (https://www.rfc-editor.org/rfc/rfc9000#name-bidirectional-stream-states)
| |
| hasError | back to summary |
|---|---|
| public default boolean hasError() Overrides default jdk. Implements jdk. Doc from jdk. Returns true if the stream has errors. For a bidirectional stream, this method returns true if either its sending part or its receiving part was closed with a non-zero error code.
| |
| state | back to summary |
|---|---|
| public default QuicStream. Implements jdk. Doc from jdk. Returns the combined stream state.
| |
A bidirectional stream is composed of sending and receiving parts. Implementations can represent states of the bidirectional stream as composites of sending and receiving stream states. The simplest model presents the stream as "open" when either sending or receiving parts are in a non-terminal state and "closed" when both sending and receiving streams are in terminal states.See RFC 9000, [Section 3.4] (https://www.rfc-editor.org/rfc/rfc9000#name-bidirectional-stream-states)
| Modifier and Type | Field and Description |
|---|---|
| public static final QuicBidiStream. | CLOSED
A bidirectional stream is considered closed when both parts have been reset or all data has been sent and acknowledged and all data has been received. |
| public static final QuicBidiStream. | HALF_CLOSED_LOCAL
A bidirectional stream is considered locally half closed if the sending part is locally closed: all data has been sent and acknowledged, or a reset has been sent, but the receiving part is still receiving. |
| public static final QuicBidiStream. | HALF_CLOSED_REMOTE
A bidirectional stream is considered remotely half closed if the receiving part is closed: all data has been read or received on the receiving part, or reset has been read or received on the receiving part, but the sending part is still sending. |
| public static final QuicBidiStream. | IDLE
A bidirectional stream is considered "idle" if no data has been sent or received on that stream. |
| public static final QuicBidiStream. | OPENED
A bidirectional stream is considered "open" until all data has been received, or all data has been sent, and no reset has been sent or received. |
| Access | Constructor and Description |
|---|---|
| private |
| Modifier and Type | Method and Description |
|---|---|
| public boolean | isTerminal()
Implements jdk. Returns true if this is a terminal state. |
| public static QuicBidiStream. | |
| public static QuicBidiStream. |
| CLOSED | back to summary |
|---|---|
| public static final QuicBidiStream. A bidirectional stream is considered closed when both parts have been reset or all data has been sent and acknowledged and all data has been received. | |
| HALF_CLOSED_LOCAL | back to summary |
|---|---|
| public static final QuicBidiStream. A bidirectional stream is considered locally half closed if the sending part is locally closed: all data has been sent and acknowledged, or a reset has been sent, but the receiving part is still receiving. | |
| HALF_CLOSED_REMOTE | back to summary |
|---|---|
| public static final QuicBidiStream. A bidirectional stream is considered remotely half closed if the receiving part is closed: all data has been read or received on the receiving part, or reset has been read or received on the receiving part, but the sending part is still sending. | |
| IDLE | back to summary |
|---|---|
| public static final QuicBidiStream. A bidirectional stream is considered "idle" if no data has been sent or received on that stream. | |
| OPENED | back to summary |
|---|---|
| public static final QuicBidiStream. A bidirectional stream is considered "open" until all data has been received, or all data has been sent, and no reset has been sent or received. | |
| BidiStreamState | back to summary |
|---|---|
| private BidiStreamState() | |
| isTerminal | back to summary |
|---|---|
| public boolean isTerminal() Implements jdk. Doc from jdk. Returns true if this is a terminal state. API Note A bidirectional stream may be considered closed (which is a terminal state), even if the sending or receiving part of a stream haven't reached a terminal state. Typically, if the sending part has sent a RESET frame, the stream may be considered closed even if the acknowledgement hasn't been received yet.
| |
| valueOf | back to summary |
|---|---|
| public static QuicBidiStream. | |
| values | back to summary |
|---|---|
| public static QuicBidiStream. | |