Class H2Stream
- java.lang.Object
-
- org.apache.hc.core5.http2.impl.nio.H2Stream
-
class H2Stream extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classH2Stream.State
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.atomic.AtomicBooleancancelledprivate H2StreamChannelchannelprivate H2StreamHandlerhandlerprivate TimeoutidleTimeoutprivate longlastActivityNanosprivate static longLINGER_TIMEprivate PriorityValuepriorityValueprivate java.util.concurrent.atomic.AtomicBooleanreleasedprivate booleanremoteClosedprivate booleanreservedprivate java.util.function.Consumer<H2Stream.State>stateChangeCallbackprivate java.util.concurrent.atomic.AtomicReference<H2Stream.State>transitionRef
-
Constructor Summary
Constructors Constructor Description H2Stream(H2StreamChannel channel, H2StreamHandler handler, java.util.function.Consumer<H2Stream.State> stateChangeCallback)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) booleanabort()(package private) booleanabortGracefully()(package private) voidactivate()(package private) voidconsumeData(java.nio.ByteBuffer src, boolean endOfStream)(package private) voidconsumeHeader(java.util.List<Header> headers, boolean endOfStream)(package private) voidconsumePromise(java.util.List<Header> headers)(package private) voidfail(java.lang.Exception cause)(package private) intgetId()(package private) TimeoutgetIdleTimeout()(package private) java.util.concurrent.atomic.AtomicIntegergetInputWindow()(package private) longgetLastActivityNanos()(package private) java.util.concurrent.atomic.AtomicIntegergetOutputWindow()(package private) PriorityValuegetPriorityValue()(package private) HandlerFactory<AsyncPushConsumer>getPushHandlerFactory()(package private) voidhandle(HttpException ex)(package private) booleanisActive()(package private) booleanisClosed()(package private) booleanisClosedPastLingerDeadline()(package private) booleanisLocalClosed()(package private) booleanisOutputReady()private booleanisPastLingerDeadline()(package private) booleanisRemoteClosed()(package private) booleanisReserved()(package private) voidlocalReset(java.lang.Exception cause, int code)(package private) voidlocalReset(java.lang.Exception cause, H2Error error)(package private) voidlocalReset(H2StreamResetException ex)(package private) voidlocalResetCancelled()(package private) voidmarkRemoteClosed()(package private) voidproduceInputCapacityUpdate()(package private) voidproduceOutput()(package private) voidreleaseResources()(package private) voidsetPriorityValue(PriorityValue priorityValue)java.lang.StringtoString()private voidtouch()private voidtriggerClosed()private voidtriggerOpen()
-
-
-
Field Detail
-
LINGER_TIME
private static final long LINGER_TIME
- See Also:
- Constant Field Values
-
channel
private final H2StreamChannel channel
-
handler
private final H2StreamHandler handler
-
stateChangeCallback
private final java.util.function.Consumer<H2Stream.State> stateChangeCallback
-
transitionRef
private final java.util.concurrent.atomic.AtomicReference<H2Stream.State> transitionRef
-
released
private final java.util.concurrent.atomic.AtomicBoolean released
-
cancelled
private final java.util.concurrent.atomic.AtomicBoolean cancelled
-
reserved
private volatile boolean reserved
-
remoteClosed
private volatile boolean remoteClosed
-
lastActivityNanos
private volatile long lastActivityNanos
-
idleTimeout
private volatile Timeout idleTimeout
-
priorityValue
private volatile PriorityValue priorityValue
-
-
Constructor Detail
-
H2Stream
H2Stream(H2StreamChannel channel, H2StreamHandler handler, java.util.function.Consumer<H2Stream.State> stateChangeCallback)
-
-
Method Detail
-
getId
int getId()
-
isReserved
boolean isReserved()
-
triggerOpen
private void triggerOpen()
-
triggerClosed
private void triggerClosed()
-
activate
void activate()
-
getOutputWindow
java.util.concurrent.atomic.AtomicInteger getOutputWindow()
-
getInputWindow
java.util.concurrent.atomic.AtomicInteger getInputWindow()
-
isPastLingerDeadline
private boolean isPastLingerDeadline()
-
isClosedPastLingerDeadline
boolean isClosedPastLingerDeadline()
-
isClosed
boolean isClosed()
-
isActive
boolean isActive()
-
isRemoteClosed
boolean isRemoteClosed()
-
markRemoteClosed
void markRemoteClosed()
-
isLocalClosed
boolean isLocalClosed()
-
consumePromise
void consumePromise(java.util.List<Header> headers) throws HttpException, java.io.IOException
- Throws:
HttpExceptionjava.io.IOException
-
consumeHeader
void consumeHeader(java.util.List<Header> headers, boolean endOfStream) throws HttpException, java.io.IOException
- Throws:
HttpExceptionjava.io.IOException
-
consumeData
void consumeData(java.nio.ByteBuffer src, boolean endOfStream) throws HttpException, java.io.IOException- Throws:
HttpExceptionjava.io.IOException
-
isOutputReady
boolean isOutputReady()
-
produceOutput
void produceOutput() throws HttpException, java.io.IOException- Throws:
HttpExceptionjava.io.IOException
-
produceInputCapacityUpdate
void produceInputCapacityUpdate() throws java.io.IOException- Throws:
java.io.IOException
-
fail
void fail(java.lang.Exception cause)
-
localReset
void localReset(java.lang.Exception cause, int code) throws java.io.IOException- Throws:
java.io.IOException
-
localReset
void localReset(java.lang.Exception cause, H2Error error) throws java.io.IOException- Throws:
java.io.IOException
-
localReset
void localReset(H2StreamResetException ex) throws java.io.IOException
- Throws:
java.io.IOException
-
localResetCancelled
void localResetCancelled() throws java.io.IOException- Throws:
java.io.IOException
-
handle
void handle(HttpException ex) throws java.io.IOException, HttpException
- Throws:
java.io.IOExceptionHttpException
-
getPushHandlerFactory
HandlerFactory<AsyncPushConsumer> getPushHandlerFactory()
-
abort
boolean abort()
-
abortGracefully
boolean abortGracefully() throws java.io.IOException- Throws:
java.io.IOException
-
releaseResources
void releaseResources()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
touch
private void touch()
-
getLastActivityNanos
long getLastActivityNanos()
-
getIdleTimeout
Timeout getIdleTimeout()
-
getPriorityValue
PriorityValue getPriorityValue()
-
setPriorityValue
void setPriorityValue(PriorityValue priorityValue)
-
-