public class HttpChannel extends Object implements Runnable, HttpOutput.Interceptor
Modifier and Type | Class and Description |
---|---|
static interface |
HttpChannel.Listener
Listener for
HttpChannel events. |
static class |
HttpChannel.TransientListeners
Deprecated.
|
Modifier and Type | Field and Description |
---|---|
static HttpChannel.Listener |
NOOP_LISTENER |
Constructor and Description |
---|
HttpChannel(Connector connector,
HttpConfiguration configuration,
EndPoint endPoint,
HttpTransport transport) |
public static HttpChannel.Listener NOOP_LISTENER
public HttpChannel(Connector connector, HttpConfiguration configuration, EndPoint endPoint, HttpTransport transport)
public boolean isSendError()
public HttpChannelState getState()
@Deprecated public boolean addListener(HttpChannel.Listener listener)
Listeners added by this method will only be notified
if the HttpChannel has been constructed with an instance of
HttpChannel.TransientListeners
as an AbstractConnector
provided listener
Transient listeners are removed after every request cycle
listener
- @Deprecated public boolean removeListener(HttpChannel.Listener listener)
@Deprecated public List<HttpChannel.Listener> getTransientListeners()
public long getBytesWritten()
public long getRequests()
public Connector getConnector()
public HttpTransport getHttpTransport()
public RequestLog getRequestLog()
public void setRequestLog(RequestLog requestLog)
public void addRequestLog(RequestLog requestLog)
public MetaData.Response getCommittedMetaData()
public long getIdleTimeout()
This is implemented as a call to EndPoint.getIdleTimeout()
, but may be
overridden by channels that have timeouts different from their connections.
public void setIdleTimeout(long timeoutMs)
This is implemented as a call to EndPoint.setIdleTimeout(long)
, but may be
overridden by channels that have timeouts different from their connections.
timeoutMs
- the idle timeout in millisecondspublic ByteBufferPool getByteBufferPool()
public HttpConfiguration getHttpConfiguration()
public boolean isOptimizedForDirectBuffers()
isOptimizedForDirectBuffers
in interface HttpOutput.Interceptor
ByteBuffer
s in the HttpOutput.Interceptor.write(ByteBuffer, boolean, Callback)
method. If false is returned, then passing direct buffers may cause
inefficiencies.public Server getServer()
public Request getRequest()
public Response getResponse()
public Connection getConnection()
public EndPoint getEndPoint()
public InetSocketAddress getLocalAddress()
public InetSocketAddress getRemoteAddress()
public void continue100(int available) throws IOException
available
- estimate of the number of bytes that are availableIOException
- if the InputStream cannot be createdpublic void recycle()
public void onAsyncWaitForContent()
public void onBlockWaitForContent()
public void onBlockWaitForContentFailure(Throwable failure)
public boolean handle()
public void sendResponseAndComplete()
public boolean isExpecting100Continue()
public boolean isExpecting102Processing()
public void onRequest(MetaData.Request request)
public boolean onContent(HttpInput.Content content)
public boolean onContentComplete()
public void onTrailers(HttpFields trailers)
public boolean onRequestComplete()
public void onCompleted()
public boolean onEarlyEOF()
public void onBadMessage(BadMessageException failure)
public boolean sendResponse(MetaData.Response info, ByteBuffer content, boolean complete, Callback callback)
public boolean sendResponse(MetaData.Response info, ByteBuffer content, boolean complete) throws IOException
IOException
public boolean isCommitted()
public boolean isRequestCompleted()
public boolean isResponseCompleted()
public boolean isPersistent()
public void write(ByteBuffer content, boolean complete, Callback callback)
Non-Blocking write, committing the response if needed.
Called as last link in HttpOutput.Filter chainwrite
in interface HttpOutput.Interceptor
content
- the content buffer to writecomplete
- whether the content is complete for the responsecallback
- Callback when complete or failedpublic void resetBuffer()
HttpOutput.Interceptor
If the Interceptor contains buffers then reset them.
resetBuffer
in interface HttpOutput.Interceptor
public HttpOutput.Interceptor getNextInterceptor()
getNextInterceptor
in interface HttpOutput.Interceptor
public Scheduler getScheduler()
public boolean useDirectBuffers()
public void abort(Throwable failure)
The standard implementation calls HttpTransport.abort(Throwable)
.
failure
- the failure that caused the abort.Copyright © 2010 - 2020 Adobe. All Rights Reserved