Class HTTP2Session.ControlEntry

  • All Implemented Interfaces:
    org.eclipse.jetty.util.Callback, org.eclipse.jetty.util.thread.Invocable
    Enclosing class:
    HTTP2Session

    private class HTTP2Session.ControlEntry
    extends HTTP2Flusher.Entry
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.eclipse.jetty.util.Callback

        org.eclipse.jetty.util.Callback.Completable, org.eclipse.jetty.util.Callback.Completing, org.eclipse.jetty.util.Callback.Nested
      • Nested classes/interfaces inherited from interface org.eclipse.jetty.util.thread.Invocable

        org.eclipse.jetty.util.thread.Invocable.InvocationType
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private int frameBytes  
      • Fields inherited from interface org.eclipse.jetty.util.Callback

        NOOP
      • Fields inherited from interface org.eclipse.jetty.util.thread.Invocable

        __nonBlocking
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private ControlEntry​(Frame frame, IStream stream, org.eclipse.jetty.util.Callback callback)  
    • Field Detail

      • frameBytes

        private int frameBytes
    • Constructor Detail

      • ControlEntry

        private ControlEntry​(Frame frame,
                             IStream stream,
                             org.eclipse.jetty.util.Callback callback)
    • Method Detail

      • beforeSend

        private void beforeSend()

        Performs actions just before writing the frame to the network.

        Some frame, when sent over the network, causes the receiver to react and send back frames that may be processed by the original sender *before* succeeded() is called.

        If the action to perform updates some state, this update may not be seen by the received frames and cause errors.

        For example, suppose the action updates the stream window to a larger value; the sender sends the frame; the receiver is now entitled to send back larger data; when the data is received by the original sender, the action may have not been performed yet, causing the larger data to be rejected, when it should have been accepted.

      • succeeded

        public void succeeded()
        Specified by:
        succeeded in interface org.eclipse.jetty.util.Callback
        Overrides:
        succeeded in class org.eclipse.jetty.util.Callback.Nested