Package org.glassfish.grizzly.config.ssl
Class ServerSocketFactory
java.lang.Object
org.glassfish.grizzly.config.ssl.ServerSocketFactory
- All Implemented Interfaces:
Cloneable
- Direct Known Subclasses:
JSSESocketFactory
This class creates server sockets. It may be subclassed by other factories, which create particular types of server
sockets. This provides a general framework for the addition of public socket-level functionality. It it is the
server side analogue of a socket factory, and similarly provides a way to capture a variety of policies related to
the sockets being constructed.
It may be desirable to move this interface into the java.net package, so that is not an extension but the preferred interface. Should this be serializable, making it a JavaBean which can be saved along with its networking configuration?
Like socket factories, Server Socket factory instances have two categories of methods. First are methods used to create sockets. Second are methods which set properties used in the production of sockets, such as networking options. There is also an environment specific default server socket factory; frameworks will often use their own customized factory.
It may be desirable to move this interface into the java.net package, so that is not an extension but the preferred interface. Should this be serializable, making it a JavaBean which can be saved along with its networking configuration?
- Author:
- db@eng.sun.com, Harish Prabandham
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedConstructor is used only by subclasses. -
Method Summary
Modifier and TypeMethodDescriptionabstract SocketacceptSocket(ServerSocket socket) Wrapper function for accept().abstract ServerSocketcreateSocket(int port) Returns a server socket which uses all network interfaces on the host, and is bound to a the specified port.abstract ServerSocketcreateSocket(int port, int backlog) Returns a server socket which uses all network interfaces on the host, is bound to a the specified port, and uses the specified connection backlog.abstract ServerSocketcreateSocket(int port, int backlog, InetAddress ifAddress) Returns a server socket which uses only the specified network interface on the local host, is bound to a the specified port, and uses the specified connection backlog.static ServerSocketFactoryReturns a copy of the environment's default socket factory.Return theSSLContextrequired when implementing SSL over NIO non-blocking.abstract voidExtra function to initiate the handshake.abstract voidinit()voidinitSocket(Socket s) voidsetAttribute(String name, Object value) General mechanism to pass attributes from the ServerConnector to the socket factory.
-
Field Details
-
context
-
attributes
-
-
Constructor Details
-
ServerSocketFactory
protected ServerSocketFactory()Constructor is used only by subclasses.
-
-
Method Details
-
createSocket
Returns a server socket which uses all network interfaces on the host, and is bound to a the specified port. The socket is configured with the socket options (such as accept timeout) given to this factory.- Parameters:
port- the port to listen to- Throws:
IOException- for networking errorsInstantiationException- for construction errors
-
createSocket
public abstract ServerSocket createSocket(int port, int backlog) throws IOException, InstantiationException Returns a server socket which uses all network interfaces on the host, is bound to a the specified port, and uses the specified connection backlog. The socket is configured with the socket options (such as accept timeout) given to this factory.- Parameters:
port- the port to listen tobacklog- how many connections are queued- Throws:
IOException- for networking errorsInstantiationException- for construction errors
-
createSocket
public abstract ServerSocket createSocket(int port, int backlog, InetAddress ifAddress) throws IOException, InstantiationException Returns a server socket which uses only the specified network interface on the local host, is bound to a the specified port, and uses the specified connection backlog. The socket is configured with the socket options (such as accept timeout) given to this factory.- Parameters:
port- the port to listen tobacklog- how many connections are queuedifAddress- the network interface address to use- Throws:
IOException- for networking errorsInstantiationException- for construction errors
-
acceptSocket
Wrapper function for accept(). This allows us to trap and translate exceptions if necessary- Throws:
IOException
-
handshake
Extra function to initiate the handshake. Sometimes necessary for SSL- Throws:
IOException
-
init
- Throws:
IOException
-
initSocket
-
getSSLContext
Return theSSLContextrequired when implementing SSL over NIO non-blocking.- Returns:
- SSLContext
-
setAttribute
General mechanism to pass attributes from the ServerConnector to the socket factory. Note that the "preferred" mechanism is to use bean setters and explicit methods, but this allows easy configuration via server.xml or simple Properties -
getDefault
Returns a copy of the environment's default socket factory.
-