Class AbstractFlowControlStrategy

java.lang.Object
org.eclipse.jetty.http2.AbstractFlowControlStrategy
All Implemented Interfaces:
FlowControlStrategy, org.eclipse.jetty.util.component.Dumpable
Direct Known Subclasses:
BufferingFlowControlStrategy, SimpleFlowControlStrategy

@ManagedObject public abstract class AbstractFlowControlStrategy extends Object implements FlowControlStrategy, org.eclipse.jetty.util.component.Dumpable
  • Field Details

    • LOG

      protected static final org.eclipse.jetty.util.log.Logger LOG
    • sessionStall

      private final AtomicLong sessionStall
    • sessionStallTime

      private final AtomicLong sessionStallTime
    • streamsStalls

      private final Map<IStream,Long> streamsStalls
    • streamsStallTime

      private final AtomicLong streamsStallTime
    • initialStreamSendWindow

      private int initialStreamSendWindow
    • initialStreamRecvWindow

      private int initialStreamRecvWindow
  • Constructor Details

    • AbstractFlowControlStrategy

      public AbstractFlowControlStrategy(int initialStreamSendWindow)
  • Method Details

    • getInitialStreamSendWindow

      @ManagedAttribute(value="The initial size of stream\'s flow control send window", readonly=true) public int getInitialStreamSendWindow()
    • getInitialStreamRecvWindow

      @ManagedAttribute(value="The initial size of stream\'s flow control receive window", readonly=true) public int getInitialStreamRecvWindow()
    • onStreamCreated

      public void onStreamCreated(IStream stream)
      Specified by:
      onStreamCreated in interface FlowControlStrategy
    • onStreamDestroyed

      public void onStreamDestroyed(IStream stream)
      Specified by:
      onStreamDestroyed in interface FlowControlStrategy
    • updateInitialStreamWindow

      public void updateInitialStreamWindow(ISession session, int initialStreamWindow, boolean local)
      Specified by:
      updateInitialStreamWindow in interface FlowControlStrategy
    • onWindowUpdate

      public void onWindowUpdate(ISession session, IStream stream, WindowUpdateFrame frame)
      Specified by:
      onWindowUpdate in interface FlowControlStrategy
    • onDataReceived

      public void onDataReceived(ISession session, IStream stream, int length)
      Specified by:
      onDataReceived in interface FlowControlStrategy
    • windowUpdate

      public void windowUpdate(ISession session, IStream stream, WindowUpdateFrame frame)
      Specified by:
      windowUpdate in interface FlowControlStrategy
    • onDataSending

      public void onDataSending(IStream stream, int length)
      Specified by:
      onDataSending in interface FlowControlStrategy
    • onDataSent

      public void onDataSent(IStream stream, int length)
      Specified by:
      onDataSent in interface FlowControlStrategy
    • onSessionStalled

      protected void onSessionStalled(ISession session)
    • onStreamStalled

      protected void onStreamStalled(IStream stream)
    • onSessionUnstalled

      protected void onSessionUnstalled(ISession session)
    • onStreamUnstalled

      protected void onStreamUnstalled(IStream stream)
    • getSessionStallTime

      @ManagedAttribute(value="The time, in milliseconds, that the session flow control has stalled", readonly=true) public long getSessionStallTime()
    • getStreamsStallTime

      @ManagedAttribute(value="The time, in milliseconds, that the streams flow control has stalled", readonly=true) public long getStreamsStallTime()
    • reset

      @ManagedOperation(value="Resets the statistics", impact="ACTION") public void reset()
    • dump

      public String dump()
      Specified by:
      dump in interface org.eclipse.jetty.util.component.Dumpable
    • dump

      public void dump(Appendable out, String indent) throws IOException
      Specified by:
      dump in interface org.eclipse.jetty.util.component.Dumpable
      Throws:
      IOException