Package org.simpleframework.transport
Class TransportSocketProcessor
java.lang.Object
org.simpleframework.transport.TransportSocketProcessor
- All Implemented Interfaces:
SocketProcessor
The
TransportSocketProcessor
is used to convert sockets
to transports. This acts as an adapter to a transport processor
which converts a connected socket to a Transport
that
can be used to read and write data. Depending on whether there is
an SSLEngine
associated with the socket or not, there
could be an SSL handshake performed.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Daemon
This is used to clean the internals of the processor.private final ConcurrentExecutor
This is the executor used to execute the I/O operations.private final OperationFactory
This is the factory used to create the required operations.private final Reactor
This is the processor used to process transport objects. -
Constructor Summary
ConstructorsConstructorDescriptionTransportSocketProcessor
(TransportProcessor processor) Constructor for theTransportSocketProcessor
object.TransportSocketProcessor
(TransportProcessor processor, int threads) Constructor for theTransportSocketProcessor
object.TransportSocketProcessor
(TransportProcessor processor, int threads, int buffer) Constructor for theTransportSocketProcessor
object.TransportSocketProcessor
(TransportProcessor processor, int threads, int buffer, int threshold) Constructor for theTransportSocketProcessor
object.TransportSocketProcessor
(TransportProcessor processor, int threads, int buffer, int threshold, boolean client) Constructor for theTransportSocketProcessor
object. -
Method Summary
-
Field Details
-
executor
This is the executor used to execute the I/O operations. -
factory
This is the factory used to create the required operations. -
reactor
This is the processor used to process transport objects. -
cleaner
This is used to clean the internals of the processor.
-
-
Constructor Details
-
TransportSocketProcessor
Constructor for theTransportSocketProcessor
object. The transport processor is used to process plain connections and wrap those connections in aTransport
that can be used to send and receive data to and from.- Parameters:
processor
- this is used to process transports- Throws:
IOException
-
TransportSocketProcessor
Constructor for theTransportSocketProcessor
object. The transport processor is used to process plain connections and wrap those connections in aTransport
that can be used to send and receive data to and from.- Parameters:
processor
- this is used to process transportsthreads
- this is the number of threads this will use- Throws:
IOException
-
TransportSocketProcessor
public TransportSocketProcessor(TransportProcessor processor, int threads, int buffer) throws IOException Constructor for theTransportSocketProcessor
object. The transport processor is used to process plain connections and wrap those connections in aTransport
that can be used to send and receive data to and from.- Parameters:
processor
- this is used to process transportsthreads
- this is the number of threads this will usebuffer
- this is the initial size of the output buffer- Throws:
IOException
-
TransportSocketProcessor
public TransportSocketProcessor(TransportProcessor processor, int threads, int buffer, int threshold) throws IOException Constructor for theTransportSocketProcessor
object. The transport processor is used to process plain connections and wrap those connections in aTransport
that can be used to send and receive data to and from.- Parameters:
processor
- this is used to process transportsthreads
- this is the number of threads this will usebuffer
- this is the initial size of the output bufferthreshold
- this is the maximum size of the output buffer- Throws:
IOException
-
TransportSocketProcessor
public TransportSocketProcessor(TransportProcessor processor, int threads, int buffer, int threshold, boolean client) throws IOException Constructor for theTransportSocketProcessor
object. The transport processor is used to process plain connections and wrap those connections in aTransport
that can be used to send and receive data to and from.- Parameters:
processor
- this is used to process transportsthreads
- this is the number of threads this will usebuffer
- this is the initial size of the output bufferthreshold
- this is the maximum size of the output bufferclient
- determines if the SSL handshake is for a client- Throws:
IOException
-
-
Method Details
-
process
Used to connect theSocket
which is a full duplex TCP connection to a higher layer the application. It is this layer that is responsible for interpreting a protocol or handling messages in some manner. In the case of HTTP this will initiate the consumption of a HTTP request after any SSL handshake is finished if the connection is secure.- Specified by:
process
in interfaceSocketProcessor
- Parameters:
socket
- this is the connected HTTP pipeline to process- Throws:
IOException
-
stop
This is implemented to shut down the server asynchronously. It will start a process to perform the shutdown. Asynchronous shutdown allows a server resource executed via a HTTP request can stop the server without any danger of killing itself or even worse causing a deadlock.- Specified by:
stop
in interfaceSocketProcessor
- Throws:
IOException
-