public class ContainerSocketProcessor extends Object implements SocketProcessor
ContainerSocketProcessor object is a connector
that dispatch requests from a connected pipeline. SSL connections
and plain connections can be processed by this implementation. It
collects data from the connected pipelines and constructs the
requests and responses used to dispatch to the container.
In order to process the requests this uses two thread pools. One is used to collect data from the pipelines and create the requests. The other is used to service those requests. Such an architecture ensures that the serving thread does not have to deal with I/O operations. All data is consumed before it is serviced.
| Constructor and Description |
|---|
ContainerSocketProcessor(Container container)
Constructor for the
ContainerSocketProcessor object. |
ContainerSocketProcessor(Container container,
Allocator allocator)
Constructor for the
ContainerSocketProcessor object. |
ContainerSocketProcessor(Container container,
Allocator allocator,
int count)
Constructor for the
ContainerSocketProcessor object. |
ContainerSocketProcessor(Container container,
Allocator allocator,
int count,
int select)
Constructor for the
ContainerSocketProcessor object. |
ContainerSocketProcessor(Container container,
int count)
Constructor for the
ContainerSocketProcessor object. |
ContainerSocketProcessor(Container container,
int count,
int select)
Constructor for the
ContainerSocketProcessor object. |
| Modifier and Type | Method and Description |
|---|---|
void |
process(Socket socket)
This is used to consume HTTP messages that arrive on the socket
and dispatch them to the internal container.
|
void |
stop()
This method is used to stop the connector in such a way that it
will not accept and process any further messages.
|
public ContainerSocketProcessor(Container container) throws IOException
ContainerSocketProcessor object.
The connector created will collect HTTP requests from the pipelines
provided and dispatch those requests to the provided container.container - this is the container used to service requestsIOExceptionpublic ContainerSocketProcessor(Container container, int count) throws IOException
ContainerSocketProcessor object.
The connector created will collect HTTP requests from the pipelines
provided and dispatch those requests to the provided container.container - this is the container used to service requestscount - this is the number of threads used for each poolIOExceptionpublic ContainerSocketProcessor(Container container, int count, int select) throws IOException
ContainerSocketProcessor object. The
connector created will collect HTTP requests from the pipelines
provided and dispatch those requests to the provided container.container - this is the container used to service requestscount - this is the number of threads used for each poolselect - this is the number of selector threads to useIOExceptionpublic ContainerSocketProcessor(Container container, Allocator allocator) throws IOException
ContainerSocketProcessor object.
The connector created will collect HTTP requests from the pipelines
provided and dispatch those requests to the provided container.container - this is the container used to service requestsallocator - this is the allocator used to create buffersIOExceptionpublic ContainerSocketProcessor(Container container, Allocator allocator, int count) throws IOException
ContainerSocketProcessor object.
The connector created will collect HTTP requests from the pipelines
provided and dispatch those requests to the provided container.container - this is the container used to service requestsallocator - this is the allocator used to create bufferscount - this is the number of threads used for each poolIOExceptionpublic ContainerSocketProcessor(Container container, Allocator allocator, int count, int select) throws IOException
ContainerSocketProcessor object.
The connector created will collect HTTP requests from the pipelines
provided and dispatch those requests to the provided container.container - this is the container used to service requestsallocator - this is the allocator used to create bufferscount - this is the number of threads used for each poolselect - this is the number of selector threads to useIOExceptionpublic void process(Socket socket) throws IOException
SSLEngine an SSL handshake may
be performed before any HTTP messages are consumed. This can be
called from multiple threads and does not block.process in interface SocketProcessorsocket - this is the connected HTTP pipeline to processIOExceptionpublic void stop()
throws IOException
stop in interface SocketProcessorIOExceptionCopyright © 2025. All rights reserved.