Class Http2StreamTable

java.lang.Object
dev.relism.flash.http2.stream.Http2StreamTable

public final class Http2StreamTable extends Object
Fixed-capacity primitive stream-id table using linear-probed open addressing.
  • Field Details

  • Constructor Details

    • Http2StreamTable

      public Http2StreamTable(int maxEntries)
    • Http2StreamTable

      public Http2StreamTable(int maxEntries, DataBufferPool dataBuffers)
  • Method Details

    • get

      public Http2Stream get(int streamId)
    • put

      public void put(Http2Stream stream)
    • acquire

      public Http2Stream acquire(int streamId)
    • release

      public void release(Http2Stream stream)
    • remove

      public Http2Stream remove(int streamId)
    • removeIfSame

      public boolean removeIfSame(Http2Stream stream, int streamId)
      Removes a stream only when both its id and pooled-object identity still match.
    • retire

      public boolean retire(Http2Stream stream, int streamId)
      Atomically removes and recycles the matching generation of a pooled stream.
    • detach

      public boolean detach(Http2Stream stream, int streamId)
      Removes a wire-closed stream from live concurrency while retaining its in-flight buffer.
    • rememberReset

      public void rememberReset(int streamId)
    • closedKind

      public int closedKind(int streamId)
    • forEach

      public void forEach(Http2StreamTable.StreamConsumer consumer)
    • copyValues

      public int copyValues(Http2Stream[] target)
    • adjustAllSendWindows

      public void adjustAllSendWindows(int delta)
    • size

      public int size()
    • capacity

      public int capacity()
    • createdCount

      public int createdCount()
    • freeCount

      public int freeCount()
    • clear

      public void clear()