Class StreamNetwork

    • Field Detail

      • CnxRetry

        int CnxRetry
        Numbers of attempt to bind the server's socket before aborting, default value is 3. This value can be adjusted for all network components by setting CnxRetry global property or for a particular network by setting <DomainName>.CnxRetry specific property.

        Theses properties can be fixed either from java launching command, or in a3servers.xml configuration file.

      • backlog

        int backlog
        The maximum queue length for incoming connection indications, default value is 5. This value can be adjusted for all network components by setting backlog global property or for a particular network by setting <DomainName>.backlog specific property.

        Theses properties can be fixed either from java launching command, or in a3servers.xml configuration file.

      • TcpNoDelay

        boolean TcpNoDelay
        Enable/disable TCP_NODELAY (disable/enable Nagle's algorithm), default value is false. This value can be adjusted for all network components by setting TcpNoDelay global property or for a particular network by setting <DomainName>.TcpNoDelay specific property.

        Theses properties can be fixed either from java launching command, or in a3servers.xml configuration file.

      • SoLinger

        int SoLinger
        Enable SO_LINGER with the specified linger time in seconds, if the value is less than 0 then it disables SO_LINGER. Default value is -1. This value can be adjusted for all network components by setting SoLinger global property or for a particular network by setting <DomainName>.SoLinger specific property.

        Theses properties can be fixed either from java launching command, or in a3servers.xml configuration file.

      • SoTimeout

        int SoTimeout
        Enable/disable SO_TIMEOUT with the specified timeout in milliseconds. The timeout must be > 0. A timeout of zero is interpreted as an infinite timeout. Default value is 0. This value can be adjusted for all network components by setting SoTimeout global property or for a particular network by setting <DomainName>.SoTimeout specific property.

        Theses properties can be fixed either from java launching command, or in a3servers.xml configuration file.

      • ConnectTimeout

        int ConnectTimeout
        Defines in milliseconds the timeout used during socket connection. The timeout must be > 0. A timeout of zero is interpreted as an infinite timeout. Default value is 0. This value can be adjusted for all network components by setting ConnectTimeout global property or for a particular network by setting <DomainName>.ConnectTimeout specific property.

        Theses properties can be fixed either from java launching command, or in a3servers.xml configuration file.

      • inLocalAddr

        InetAddress inLocalAddr
        The local address the listen ServerSocket is bound to. A null address will assign the wildcard address. Default value is null. This value can be adjusted for all network components by setting InLocalAddress global property or for a particular network by setting <DomainName>.InLocalAddress specific property.

        Theses properties can be fixed either from java launching command, or in a3servers.xml configuration file.

      • outLocalPort

        int outLocalPort
        The local port the sockets are bound to. A valid port value is between 0 and 65535. A port number of zero will let the system pick up an ephemeral port in a bind operation. Default value is 0. This value can be adjusted for all network components by setting OutLocalPort global property or for a particular network by setting <DomainName>.OutLocalPort specific property.

        Theses properties can be fixed either from java launching command, or in a3servers.xml configuration file.

      • outLocalAddr

        InetAddress outLocalAddr
        The local address the sockets are bound to. A null address will assign the wildcard address. Default value is null. This value can be adjusted for all network components by setting OutLocalAddress global property or for a particular network by setting <DomainName>.OutLocalAddress specific property.

        Theses properties can be fixed either from java launching command, or in a3servers.xml configuration file.

      • serverSocketFactory

        ServerSocketFactory serverSocketFactory
        Allows to define a specific factory for ServerSocket in order to by-pass compatibility problem between JDK version. Currently there is two factories, The default factory for JDK since 1.4, and ServerSocketFactory13 for JDK prior to 1.4. This value can be adjusted for all network components by setting ServerSocketFactory global property or for a particular network by setting <DomainName>.ServerSocketFactory specific property.

        Theses properties can be fixed either from java launching command, or in a3servers.xml configuration file.

      • socketFactory

        SocketFactory socketFactory
        Allows to define a specific factory for Socket in order to by-pass compatibility problem between JDK version. Currently there is two factories, The default factory one for JDK since 1.4, and SocketFactory13 for JDK prior to 1.4. This value can be adjusted for all network components by setting SocketFactory global property or for a particular network by setting <DomainName>.SocketFactory specific property.

        Theses properties can be fixed either from java launching command, or in a3servers.xml configuration file.

    • Constructor Detail

      • StreamNetwork

        protected StreamNetwork()
        Creates a new Network component
    • Method Detail

      • init

        public void init​(String name,
                         int port,
                         short[] servers)
                  throws Exception
        Initializes a new StreamNetwork component.
        Overrides:
        init in class Network
        Parameters:
        name - The domain name.
        port - The listen port.
        servers - The list of servers directly accessible from this network interface.
        Throws:
        Exception - an error occurs.
        See Also:
        Network
      • setProperties

        public void setProperties()
                           throws Exception
        Set the properties of the network. Inherited from Network class, can be extended by subclasses.
        Overrides:
        setProperties in class Network
        Throws:
        Exception - an error occurs.
      • createSocket

        final Socket createSocket​(ServerDesc server)
                           throws IOException
        This method creates and returns a socket connected to a specified server. It may be overloaded in subclass, in order to create particular subclasses of sockets.
        Parameters:
        server - the server descriptor.
        Returns:
        a socket connected to a ServerSocket at the specified network address and port.
        Throws:
        IOException - if the connection can't be established
      • createSocket

        final Socket createSocket​(SocketAddress addr)
                           throws IOException
        This method creates and returns a socket connected to a ServerSocket at the specified socket address. If it fails it resets the address in order to take in account dynamic DNS.
        Parameters:
        addr - the socket address.
        Returns:
        a socket connected to a ServerSocket at the specified network address and port.
        Throws:
        IOException - if the connection can't be established
      • createSocket

        Socket createSocket​(InetAddress addr,
                            int port)
                     throws IOException
        This method creates and returns a socket connected to a ServerSocket at the specified network address and port. It may be overloaded in subclass, in order to use particular implementation of sockets.

        Due to polymorphism of both factories and sockets, different kinds of sockets can be used by the same application code. The sockets returned to the application can be subclasses of Socket, so that they can directly expose new APIs for features such as compression, security, or firewall tunneling.

        Parameters:
        addr - the server address.
        port - the server port.
        Returns:
        a socket connected to a ServerSocket at the specified network address and port.
        Throws:
        IOException - if the connection can't be established
      • createServerSocket

        final ServerSocket createServerSocket()
                                       throws IOException
        This method creates and returns a server socket which uses all network interfaces on the host, and is bound to the specified port.
        Returns:
        a server socket bound to the specified port.
        Throws:
        IOException - for networking errors
      • createServerSocket

        ServerSocket createServerSocket​(int port)
                                 throws IOException
        This method creates and returns a server socket which uses all network interfaces on the host, and is bound to the specified port. It may be overloaded in subclass, in order to create particular subclasses of server sockets.
        Parameters:
        port - the port to listen to.
        Returns:
        a server socket bound to the specified port.
        Throws:
        IOException - for networking errors
      • setSocketOption

        void setSocketOption​(Socket sock)
                      throws SocketException
        Configures this socket using the socket options established for this factory. It may be overloaded in subclass, in order to handle particular subclasses of sockets
        Parameters:
        sock - the socket.
        Throws:
        SocketException - for networking errors