Class H2Streams
- java.lang.Object
-
- org.apache.hc.core5.http2.impl.nio.H2Streams
-
class H2Streams extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private StreamIdGeneratoridGeneratorprivate java.util.concurrent.atomic.AtomicIntegerlastLocalIdprivate java.util.concurrent.atomic.AtomicIntegerlastRemoteIdprivate java.util.concurrent.atomic.AtomicIntegerlocalCountprivate java.util.concurrent.atomic.AtomicIntegerremoteCountprivate java.util.Map<java.lang.Integer,H2Stream>streamMapprivate java.util.Queue<H2Stream>streams
-
Constructor Summary
Constructors Constructor Description H2Streams(StreamIdGenerator idGenerator)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description H2StreamcreateActive(H2StreamChannel channel, H2StreamHandler streamHandler)H2StreamcreateReserved(H2StreamChannel channel, H2StreamHandler streamHandler)private H2StreamcreateStream(H2StreamChannel channel, H2StreamHandler streamHandler)voiddropStreamId(int streamId)intgenerateStreamId()intgetLastLocalId()intgetLastRemoteId()intgetLocalCount()intgetRemoteCount()(package private) booleanhasBeenSeen(int streamId)(package private) booleanisClosed(H2Stream stream, int streamId)booleanisEmpty()booleanisOtherSide(int streamId)booleanisSameSide(int streamId)java.util.Iterator<H2Stream>iterator()H2Streamlookup(int streamId)H2StreamlookupSeen(int streamId)H2StreamlookupValid(int streamId)H2StreamlookupValidOrNull(int streamId)voidresetIfExceedsMaxConcurrentLimit(H2Stream stream, int max)voidshutdownAndReleaseAll()voidshutdownAndReleaseAll(java.lang.Exception cause)
-
-
-
Field Detail
-
idGenerator
private final StreamIdGenerator idGenerator
-
streamMap
private final java.util.Map<java.lang.Integer,H2Stream> streamMap
-
streams
private final java.util.Queue<H2Stream> streams
-
lastLocalId
private final java.util.concurrent.atomic.AtomicInteger lastLocalId
-
lastRemoteId
private final java.util.concurrent.atomic.AtomicInteger lastRemoteId
-
localCount
private final java.util.concurrent.atomic.AtomicInteger localCount
-
remoteCount
private final java.util.concurrent.atomic.AtomicInteger remoteCount
-
-
Constructor Detail
-
H2Streams
public H2Streams(StreamIdGenerator idGenerator)
-
-
Method Detail
-
isEmpty
public boolean isEmpty()
-
iterator
public java.util.Iterator<H2Stream> iterator()
-
getLastLocalId
public int getLastLocalId()
-
getLastRemoteId
public int getLastRemoteId()
-
getLocalCount
public int getLocalCount()
-
getRemoteCount
public int getRemoteCount()
-
createStream
private H2Stream createStream(H2StreamChannel channel, H2StreamHandler streamHandler)
-
createActive
public H2Stream createActive(H2StreamChannel channel, H2StreamHandler streamHandler)
-
createReserved
public H2Stream createReserved(H2StreamChannel channel, H2StreamHandler streamHandler)
-
resetIfExceedsMaxConcurrentLimit
public void resetIfExceedsMaxConcurrentLimit(H2Stream stream, int max) throws java.io.IOException
- Throws:
java.io.IOException
-
dropStreamId
public void dropStreamId(int streamId)
-
shutdownAndReleaseAll
public void shutdownAndReleaseAll(java.lang.Exception cause)
-
shutdownAndReleaseAll
public void shutdownAndReleaseAll()
-
lookup
public H2Stream lookup(int streamId)
-
hasBeenSeen
boolean hasBeenSeen(int streamId)
-
isClosed
boolean isClosed(H2Stream stream, int streamId)
-
lookupValidOrNull
public H2Stream lookupValidOrNull(int streamId) throws H2ConnectionException
- Throws:
H2ConnectionException
-
lookupSeen
public H2Stream lookupSeen(int streamId) throws H2ConnectionException
- Throws:
H2ConnectionException
-
lookupValid
public H2Stream lookupValid(int streamId) throws H2ConnectionException
- Throws:
H2ConnectionException
-
isSameSide
public boolean isSameSide(int streamId)
-
isOtherSide
public boolean isOtherSide(int streamId)
-
generateStreamId
public int generateStreamId()
-
-