Class HttpTransportOverFCGI

java.lang.Object
org.eclipse.jetty.fcgi.server.HttpTransportOverFCGI
All Implemented Interfaces:
HttpTransport

public class HttpTransportOverFCGI extends Object implements HttpTransport
  • Field Details

    • LOG

      private static final Logger LOG
    • generator

      private final ServerGenerator generator
    • flusher

      private final Flusher flusher
    • request

      private final int request
    • shutdown

      private volatile boolean shutdown
    • aborted

      private volatile boolean aborted
  • Constructor Details

    • HttpTransportOverFCGI

      public HttpTransportOverFCGI(ByteBufferPool byteBufferPool, Flusher flusher, int request, boolean sendStatus200)
  • Method Details

    • isOptimizedForDirectBuffers

      public boolean isOptimizedForDirectBuffers()
      Description copied from interface: HttpTransport
      Is the underlying transport optimized for DirectBuffer usage
      Specified by:
      isOptimizedForDirectBuffers in interface HttpTransport
      Returns:
      True if direct buffers can be used optimally.
    • send

      public void send(MetaData.Response info, boolean head, ByteBuffer content, boolean lastContent, Callback callback)
      Description copied from interface: HttpTransport
      Asynchronous call to send a response (or part) over the transport
      Specified by:
      send in interface HttpTransport
      Parameters:
      info - The header info to send, or null if just sending more data. The first call to send for a response must have a non null info.
      head - True if the response if for a HEAD request (and the data should not be sent).
      content - A buffer of content to be sent.
      lastContent - True if the content is the last content for the current response.
      callback - The Callback instance that success or failure of the send is notified on
    • isPushSupported

      public boolean isPushSupported()
      Specified by:
      isPushSupported in interface HttpTransport
      Returns:
      true if responses can be pushed over this transport
    • push

      public void push(MetaData.Request request)
      Specified by:
      push in interface HttpTransport
      Parameters:
      request - A request to use as the basis for generating a pushed response.
    • commit

      private void commit(MetaData.Response info, boolean head, ByteBuffer content, boolean lastContent, Callback callback)
    • generateResponseHeaders

      protected Generator.Result generateResponseHeaders(MetaData.Response info, Callback callback)
    • generateResponseContent

      protected Generator.Result generateResponseContent(ByteBuffer buffer, boolean lastContent, Callback callback)
    • abort

      public void abort(Throwable failure)
      Description copied from interface: HttpTransport
      Aborts this transport.

      This method should terminate the transport in a way that can indicate an abnormal response to the client, for example by abruptly close the connection.

      This method is called when an error response needs to be sent, but the response is already committed, or when a write failure is detected. If abort is called, HttpTransport.onCompleted() is not called

      Specified by:
      abort in interface HttpTransport
      Parameters:
      failure - the failure that caused the abort.
    • onCompleted

      public void onCompleted()
      Description copied from interface: HttpTransport
      Called to indicated the end of the current request/response cycle (which may be some time after the last content is sent).
      Specified by:
      onCompleted in interface HttpTransport