Class TcpSocketManager

    • Constructor Detail

      • TcpSocketManager

        @Deprecated
        public TcpSocketManager​(java.lang.String name,
                                java.io.OutputStream os,
                                java.net.Socket socket,
                                java.net.InetAddress inetAddress,
                                java.lang.String host,
                                int port,
                                int connectTimeoutMillis,
                                int reconnectionDelayMillis,
                                boolean immediateFail,
                                Layout<? extends java.io.Serializable> layout,
                                int bufferSize)
        Constructs.
        Parameters:
        name - The unique name of this connection.
        os - The OutputStream.
        socket - The Socket.
        inetAddress - The Internet address of the host.
        host - The name of the host.
        port - The port number on the host.
        connectTimeoutMillis - the connect timeout in milliseconds.
        reconnectionDelayMillis - Reconnection interval.
        immediateFail - True if the write should fail if no socket is immediately available.
        layout - The Layout.
        bufferSize - The buffer size.
      • TcpSocketManager

        public TcpSocketManager​(java.lang.String name,
                                java.io.OutputStream os,
                                java.net.Socket socket,
                                java.net.InetAddress inetAddress,
                                java.lang.String host,
                                int port,
                                int connectTimeoutMillis,
                                int reconnectionDelayMillis,
                                boolean immediateFail,
                                Layout<? extends java.io.Serializable> layout,
                                int bufferSize,
                                SocketOptions socketOptions)
        Constructs.
        Parameters:
        name - The unique name of this connection.
        os - The OutputStream.
        socket - The Socket.
        inetAddress - The Internet address of the host.
        host - The name of the host.
        port - The port number on the host.
        connectTimeoutMillis - the connect timeout in milliseconds.
        reconnectionDelayMillis - Reconnection interval.
        immediateFail - True if the write should fail if no socket is immediately available.
        layout - The Layout.
        bufferSize - The buffer size.
    • Method Detail

      • getSocketManager

        @Deprecated
        public static TcpSocketManager getSocketManager​(java.lang.String host,
                                                        int port,
                                                        int connectTimeoutMillis,
                                                        int reconnectDelayMillis,
                                                        boolean immediateFail,
                                                        Layout<? extends java.io.Serializable> layout,
                                                        int bufferSize)
        Obtains a TcpSocketManager.
        Parameters:
        host - The host to connect to.
        port - The port on the host.
        connectTimeoutMillis - the connect timeout in milliseconds
        reconnectDelayMillis - The interval to pause between retries.
        bufferSize - The buffer size.
        Returns:
        A TcpSocketManager.
      • getSocketManager

        public static TcpSocketManager getSocketManager​(java.lang.String host,
                                                        int port,
                                                        int connectTimeoutMillis,
                                                        int reconnectDelayMillis,
                                                        boolean immediateFail,
                                                        Layout<? extends java.io.Serializable> layout,
                                                        int bufferSize,
                                                        SocketOptions socketOptions)
        Obtains a TcpSocketManager.
        Parameters:
        host - The host to connect to.
        port - The port on the host.
        connectTimeoutMillis - the connect timeout in milliseconds
        reconnectDelayMillis - The interval to pause between retries.
        bufferSize - The buffer size.
        Returns:
        A TcpSocketManager.
      • write

        protected void write​(byte[] bytes,
                             int offset,
                             int length,
                             boolean immediateFlush)
        Description copied from class: OutputStreamManager
        Some output streams synchronize writes while others do not. Synchronizing here insures that log events won't be intertwined.
        Overrides:
        write in class OutputStreamManager
        Parameters:
        bytes - The serialized Log event.
        offset - The offset into the byte array.
        length - The number of bytes to write.
        immediateFlush - flushes immediately after writing.
      • writeAndFlush

        private void writeAndFlush​(byte[] bytes,
                                   int offset,
                                   int length,
                                   boolean immediateFlush)
                            throws java.io.IOException
        Throws:
        java.io.IOException
      • getConnectTimeoutMillis

        public int getConnectTimeoutMillis()
      • getContentFormat

        public java.util.Map<java.lang.String,​java.lang.String> getContentFormat()
        Gets this TcpSocketManager's content format. Specified by:
        • Key: "protocol" Value: "tcp"
        • Key: "direction" Value: "out"
        Overrides:
        getContentFormat in class AbstractSocketManager
        Returns:
        Map of content format keys supporting TcpSocketManager
      • createSocket

        protected java.net.Socket createSocket​(java.net.InetSocketAddress socketAddress)
                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • createSocket

        protected static java.net.Socket createSocket​(java.net.InetSocketAddress socketAddress,
                                                      SocketOptions socketOptions,
                                                      int connectTimeoutMillis)
                                               throws java.io.IOException
        Throws:
        java.io.IOException
      • setHostResolver

        public static void setHostResolver​(TcpSocketManager.HostResolver resolver)
        This method is only for unit testing. It is not Thread-safe.
        Parameters:
        resolver - the HostResolver.
      • getSocketOptions

        public SocketOptions getSocketOptions()
        USE AT YOUR OWN RISK, method is public for testing purpose only for now.
      • getSocket

        public java.net.Socket getSocket()
        USE AT YOUR OWN RISK, method is public for testing purpose only for now.
      • getReconnectionDelayMillis

        public int getReconnectionDelayMillis()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object