Class Polling

All Implemented Interfaces:
jakarta.servlet.AsyncListener, EventListener

public final class Polling extends Transport implements jakarta.servlet.AsyncListener
Polling transport.
  • Field Details

    • NAME

      public static final String NAME
      See Also:
    • PACKET_CLOSE

      private static final List<Packet<?>> PACKET_CLOSE
    • PACKET_NOOP

      private static final List<Packet<?>> PACKET_NOOP
    • mLockObject

      private final Object mLockObject
    • mPollRequest

      private jakarta.servlet.http.HttpServletRequest mPollRequest
    • mPollResponse

      private jakarta.servlet.http.HttpServletResponse mPollResponse
    • mWritable

      private boolean mWritable
    • mShouldClose

      private boolean mShouldClose
    • mQuery

      private Map<String,String> mQuery
    • mHeaders

      private Map<String,List<String>> mHeaders
  • Constructor Details

    • Polling

      public Polling(Object lockObject, Parser parser)
  • Method Details

    • getInitialQuery

      public Map<String,String> getInitialQuery()
      Description copied from class: Transport
      Get the query parameters of the initial HTTP request.
      Specified by:
      getInitialQuery in class Transport
      Returns:
      Query parameters of the initial HTTP request.
    • getInitialHeaders

      public Map<String,List<String>> getInitialHeaders()
      Description copied from class: Transport
      Get the headers of the initial HTTP request.
      Specified by:
      getInitialHeaders in class Transport
      Returns:
      Headers of the initial HTTP request.
    • onRequest

      public void onRequest(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws IOException
      Description copied from class: Transport
      Handle a client HTTP request.
      Specified by:
      onRequest in class Transport
      Parameters:
      request - The HTTP request object.
      response - The HTTP response object.
      Throws:
      IOException - On IO error.
    • send

      public void send(List<Packet<?>> packets)
      Description copied from class: Transport
      Send a list of packets over the transport.
      Specified by:
      send in class Transport
      Parameters:
      packets - List of packets to send.
    • isWritable

      public boolean isWritable()
      Description copied from class: Transport
      Checks whether the transport is currently writable.
      Specified by:
      isWritable in class Transport
      Returns:
      Boolean value indicating if transport can be written to.
    • getName

      public String getName()
      Description copied from class: Transport
      Get the name of this transport.
      Specified by:
      getName in class Transport
      Returns:
      Name of transport.
    • doClose

      protected void doClose()
      Description copied from class: Transport
      Transport specific logic for closing transport.
      Specified by:
      doClose in class Transport
    • onData

      protected void onData(Object data)
      Description copied from class: Transport
      Called by child to indicate data received from remote client.
      Overrides:
      onData in class Transport
      Parameters:
      data - Encoded data received by transport.
    • onClose

      protected void onClose()
      Description copied from class: Transport
      Called by child to indicate closure of transport.
      Overrides:
      onClose in class Transport
    • onStartAsync

      public void onStartAsync(jakarta.servlet.AsyncEvent asyncEvent)
      Specified by:
      onStartAsync in interface jakarta.servlet.AsyncListener
    • onComplete

      public void onComplete(jakarta.servlet.AsyncEvent asyncEvent)
      Specified by:
      onComplete in interface jakarta.servlet.AsyncListener
    • onTimeout

      public void onTimeout(jakarta.servlet.AsyncEvent asyncEvent)
      Specified by:
      onTimeout in interface jakarta.servlet.AsyncListener
    • onError

      public void onError(jakarta.servlet.AsyncEvent asyncEvent)
      Specified by:
      onError in interface jakarta.servlet.AsyncListener
    • onPollRequest

      private void onPollRequest(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)
    • onDataRequest

      private void onDataRequest(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws IOException
      Throws:
      IOException
    • serializeByteArray

      private String serializeByteArray(byte[] input)