Class AbstractServerTransport

java.lang.Object
org.cometd.common.AbstractTransport
org.cometd.server.AbstractServerTransport
All Implemented Interfaces:
ServerTransport, Transport, org.eclipse.jetty.util.component.Dumpable
Direct Known Subclasses:
AbstractHttpTransport, AbstractWebSocketTransport

public abstract class AbstractServerTransport extends AbstractTransport implements ServerTransport, org.eclipse.jetty.util.component.Dumpable

The base class of all server transports.

Each derived Transport class should declare all options that it supports by calling AbstractTransport.setOption(String, Object) for each option. Then during the call the init(), each transport should call the variants of AbstractTransport.getOption(String) to obtained the configured value for the option.

  • Field Details

  • Constructor Details

  • Method Details

    • newMetaConnectCycle

      public long newMetaConnectCycle()
    • getInterval

      public long getInterval()
      Specified by:
      getInterval in interface ServerTransport
      Returns:
      the interval in milliseconds
    • getMaxInterval

      public long getMaxInterval()
      Specified by:
      getMaxInterval in interface ServerTransport
      Returns:
      the maxInterval in milliseconds
    • getMaxLazyTimeout

      public long getMaxLazyTimeout()
      Specified by:
      getMaxLazyTimeout in interface ServerTransport
      Returns:
      the max lazy timeout in milliseconds before flushing lazy messages
    • getTimeout

      public long getTimeout()
      Specified by:
      getTimeout in interface ServerTransport
      Returns:
      the timeout in milliseconds
    • isMetaConnectDeliveryOnly

      public boolean isMetaConnectDeliveryOnly()
      Specified by:
      isMetaConnectDeliveryOnly in interface ServerTransport
      Returns:
      whether the messages are delivered to clients exclusively via the "/meta/connect" channel
    • setMetaConnectDeliveryOnly

      public void setMetaConnectDeliveryOnly(boolean meta)
    • isHandshakeReconnect

      public boolean isHandshakeReconnect()
    • setHandshakeReconnect

      public void setHandshakeReconnect(boolean handshakeReconnect)
    • isAllowMessageDeliveryDuringHandshake

      public boolean isAllowMessageDeliveryDuringHandshake()
    • setAllowMessageDeliveryDuringHandshake

      public void setAllowMessageDeliveryDuringHandshake(boolean allow)
    • getMaxMessageSize

      public long getMaxMessageSize()
    • setMaxMessageSize

      public void setMaxMessageSize(int maxMessageSize)
    • init

      public void init()
      Initializes the transport, resolving default and direct options.
    • destroy

      public void destroy()
    • getJSONContextServer

      protected JSONContextServer getJSONContextServer()
    • parseMessages

      protected ServerMessage.Mutable[] parseMessages(BufferedReader reader, boolean jsonDebug) throws ParseException, IOException
      Throws:
      ParseException
      IOException
    • parseMessages

      public ServerMessage.Mutable[] parseMessages(String json) throws ParseException
      Throws:
      ParseException
    • getBayeux

      public BayeuxServerImpl getBayeux()
      Returns:
      the BayeuxServer object
    • setInterval

      public void setInterval(long interval)
      Parameters:
      interval - the interval in milliseconds
    • setMaxInterval

      public void setMaxInterval(long maxInterval)
      Parameters:
      maxInterval - the maxInterval in milliseconds
    • setTimeout

      public void setTimeout(long timeout)
      Parameters:
      timeout - the timeout in milliseconds
    • setMaxLazyTimeout

      public void setMaxLazyTimeout(long maxLazyTimeout)
      Parameters:
      maxLazyTimeout - the maxLazyTimeout in milliseconds
    • sweep

      protected void sweep()
      Housekeeping sweep, called a regular intervals
    • processReply

      public void processReply(ServerSessionImpl session, ServerMessage.Mutable reply, Promise<ServerMessage.Mutable> promise)
    • toJSON

      protected String toJSON(ServerMessage msg)
    • allowMessageDeliveryDuringHandshake

      public boolean allowMessageDeliveryDuringHandshake(ServerSessionImpl session)
    • scheduleExpiration

      public void scheduleExpiration(ServerSessionImpl session, long metaConnectCycle)
    • dump

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

      public String toString()
      Overrides:
      toString in class Object