Package org.simpleframework.transport
Class SocketWrapper
java.lang.Object
org.simpleframework.transport.SocketWrapper
- All Implemented Interfaces:
Socket
This is a
SocketWrapper objects that represents a TCP
socket connections. This contains a map that allows attributes to be
associated with the client connection. Attributes such as security
certificates or other transport related details can be exposed to
the Request using the socket attribute map.
This provides the connected SocketChannel that can be
used to receive and response to HTTP requests. The socket channel
must be selectable and in non-blocking mode. If the socket is not
in a non-blocking state the connection will not be processed.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final SocketChannelThis is the socket that provides the input and output.private final SSLEngineThis is used to encrypt content for secure connections.private final MapThis is used to store the attributes for the socket.private final TraceThis can be used to trace specific events for the socket. -
Constructor Summary
ConstructorsConstructorDescriptionSocketWrapper(SocketChannel channel, Trace trace) This creates aSocketWrapperfrom a socket channel.SocketWrapper(SocketChannel channel, Trace trace, SSLEngine engine) This creates aSecureSocketfrom a socket channel. -
Method Summary
Modifier and TypeMethodDescriptionThis method is used to get theMapof attributes by this socket.This method is used to acquire theSocketChannelfor the connection.This is used to acquire the SSL engine used for HTTPS.getTrace()This is used to acquire the trace object that is associated with the socket.
-
Field Details
-
channel
This is the socket that provides the input and output. -
engine
This is used to encrypt content for secure connections. -
trace
This can be used to trace specific events for the socket. -
map
This is used to store the attributes for the socket.
-
-
Constructor Details
-
SocketWrapper
This creates aSocketWrapperfrom a socket channel. Any implementations of the object may use this constructor to ensure that all the data is initialized.- Parameters:
channel- the socket channel that is used as the transporttrace- used to trace specific events for the socket
-
SocketWrapper
This creates aSecureSocketfrom a socket channel. Any implementations of the object may use this constructor to ensure that all the data is initialized.- Parameters:
channel- the socket channel that is used as the transporttrace- used to trace specific events for the socketengine- this is the SSL engine used for secure transport
-
-
Method Details
-
getTrace
This is used to acquire the trace object that is associated with the socket. A trace object is used to collection details on what operations are being performed on the socket. For instance it may contain information relating to I/O events or more application specific events such as errors. -
getEngine
This is used to acquire the SSL engine used for HTTPS. If the socket is connected to an SSL transport this returns an SSL engine which can be used to establish the secure connection and send and receive content over that connection. If this is null then the socket represents a normal transport. -
getChannel
This method is used to acquire theSocketChannelfor the connection. This allows the server to acquire the input and output streams with which to communicate. It can also be used to configure the connection and perform various network operations that could otherwise not be performed.- Specified by:
getChannelin interfaceSocket- Returns:
- this returns the socket used by this HTTP socket
-
getAttributes
This method is used to get theMapof attributes by this socket. The attributes map is used to maintain details about the connection. Information such as security credentials to client details can be placed within the attribute map.- Specified by:
getAttributesin interfaceSocket- Returns:
- this returns the map of attributes for this socket
-