Class ExtensionStack

java.lang.Object
org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.ContainerLifeCycle
org.eclipse.jetty.websocket.common.extensions.ExtensionStack
All Implemented Interfaces:
org.eclipse.jetty.util.component.Container, org.eclipse.jetty.util.component.Destroyable, org.eclipse.jetty.util.component.Dumpable, org.eclipse.jetty.util.component.Dumpable.DumpableContainer, org.eclipse.jetty.util.component.LifeCycle, IncomingFrames, OutgoingFrames

@ManagedObject("Extension Stack") public class ExtensionStack extends org.eclipse.jetty.util.component.ContainerLifeCycle implements IncomingFrames, OutgoingFrames
Represents the stack of Extensions.
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

    org.eclipse.jetty.util.component.AbstractLifeCycle.AbstractLifeCycleListener

    Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container

    org.eclipse.jetty.util.component.Container.InheritedListener, org.eclipse.jetty.util.component.Container.Listener

    Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable

    org.eclipse.jetty.util.component.Dumpable.DumpableContainer

    Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle

    org.eclipse.jetty.util.component.LifeCycle.Listener
  • Field Summary

    Fields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

    FAILED, RUNNING, STARTED, STARTING, STOPPED, STOPPING

    Fields inherited from interface org.eclipse.jetty.util.component.Dumpable

    KEY
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    configure(Generator generator)
     
    void
    configure(Parser parser)
     
    protected void
     
     
     
    Get the list of negotiated extensions, each entry being a full "name; params" extension configuration
     
     
    boolean
     
    void
    Process the incoming frame.
    void
    Perform the extension negotiation.
    void
    outgoingFrame(Frame frame, WriteCallback callback, BatchMode batchMode)
    A frame, and optional callback, intended for the network layer.
    void
     
    void
     
    void
     
     

    Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle

    addBean, addBean, addEventListener, addManaged, contains, destroy, doStop, dump, dump, dump, dump, dump, dumpBeans, dumpObject, dumpObjects, dumpStdErr, dumpThis, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, start, stop, unmanage, updateBean, updateBean, updateBeans

    Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

    addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer

    isDumpable
  • Constructor Details

  • Method Details

    • configure

      public void configure(Generator generator)
    • configure

      public void configure(Parser parser)
    • doStart

      protected void doStart() throws Exception
      Overrides:
      doStart in class org.eclipse.jetty.util.component.ContainerLifeCycle
      Throws:
      Exception
    • dumpSelf

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

      @ManagedAttribute(name="Extension List", readonly=true) public List<Extension> getExtensions()
    • getNegotiatedExtensions

      public List<ExtensionConfig> getNegotiatedExtensions()
      Get the list of negotiated extensions, each entry being a full "name; params" extension configuration
      Returns:
      list of negotiated extensions
    • getNextIncoming

      @ManagedAttribute(name="Next Incoming Frames Handler", readonly=true) public IncomingFrames getNextIncoming()
    • getNextOutgoing

      @ManagedAttribute(name="Next Outgoing Frames Handler", readonly=true) public OutgoingFrames getNextOutgoing()
    • hasNegotiatedExtensions

      public boolean hasNegotiatedExtensions()
    • incomingFrame

      public void incomingFrame(Frame frame)
      Description copied from interface: IncomingFrames
      Process the incoming frame.

      Note: if you need to hang onto any information from the frame, be sure to copy it, as the information contained in the Frame will be released and/or reused by the implementation.

      Specified by:
      incomingFrame in interface IncomingFrames
      Parameters:
      frame - the frame to process
    • negotiate

      public void negotiate(List<ExtensionConfig> configs)
      Perform the extension negotiation.

      For the list of negotiated extensions, use getNegotiatedExtensions()

      Parameters:
      configs - the configurations being requested
    • outgoingFrame

      public void outgoingFrame(Frame frame, WriteCallback callback, BatchMode batchMode)
      Description copied from interface: OutgoingFrames
      A frame, and optional callback, intended for the network layer.

      Note: the frame can undergo many transformations in the various layers and extensions present in the implementation.

      If you are implementing a mutation, you are obliged to handle the incoming WriteCallback appropriately.

      Specified by:
      outgoingFrame in interface OutgoingFrames
      Parameters:
      frame - the frame to eventually write to the network layer.
      callback - the callback to notify when the frame is written.
      batchMode - the batch mode requested by the sender.
    • setNextIncoming

      public void setNextIncoming(IncomingFrames nextIncoming)
    • setNextOutgoing

      public void setNextOutgoing(OutgoingFrames nextOutgoing)
    • setPolicy

      public void setPolicy(WebSocketPolicy policy)
    • toString

      public String toString()
      Overrides:
      toString in class org.eclipse.jetty.util.component.AbstractLifeCycle