Class AbstractWebSocket

    • Field Detail

      • log

        private final org.slf4j.Logger log
        Logger instance
        Since:
        1.4.0
      • tcpNoDelay

        private boolean tcpNoDelay
        Attribute which allows you to deactivate the Nagle's algorithm
        Since:
        1.3.3
      • reuseAddr

        private boolean reuseAddr
        Attribute which allows you to enable/disable the SO_REUSEADDR socket option.
        Since:
        1.3.5
      • connectionLostCheckerService

        private java.util.concurrent.ScheduledExecutorService connectionLostCheckerService
        Attribute for a service that triggers lost connection checking
        Since:
        1.4.1
      • connectionLostCheckerFuture

        private java.util.concurrent.ScheduledFuture<?> connectionLostCheckerFuture
        Attribute for a task that checks for lost connections
        Since:
        1.4.1
      • connectionLostTimeout

        private long connectionLostTimeout
        Attribute for the lost connection check interval in nanoseconds
        Since:
        1.3.4
      • websocketRunning

        private boolean websocketRunning
        Attribute to keep track if the WebSocket Server/Client is running/connected
        Since:
        1.3.9
      • syncConnectionLost

        private final java.lang.Object syncConnectionLost
        Attribute to sync on
    • Constructor Detail

      • AbstractWebSocket

        public AbstractWebSocket()
    • Method Detail

      • getConnectionLostTimeout

        public int getConnectionLostTimeout()
        Get the interval checking for lost connections Default is 60 seconds
        Returns:
        the interval in seconds
        Since:
        1.3.4
      • setConnectionLostTimeout

        public void setConnectionLostTimeout​(int connectionLostTimeout)
        Setter for the interval checking for lost connections A value lower or equal 0 results in the check to be deactivated
        Parameters:
        connectionLostTimeout - the interval in seconds
        Since:
        1.3.4
      • stopConnectionLostTimer

        protected void stopConnectionLostTimer()
        Stop the connection lost timer
        Since:
        1.3.4
      • startConnectionLostTimer

        protected void startConnectionLostTimer()
        Start the connection lost timer
        Since:
        1.3.4
      • restartConnectionLostTimer

        private void restartConnectionLostTimer()
        This methods allows the reset of the connection lost timer in case of a changed parameter
        Since:
        1.3.4
      • executeConnectionLostDetection

        private void executeConnectionLostDetection​(WebSocket webSocket,
                                                    long minimumPongTime)
        Send a ping to the endpoint or close the connection since the other endpoint did not respond with a ping
        Parameters:
        webSocket - the websocket instance
        minimumPongTime - the lowest/oldest allowable last pong time (in nanoTime) before we consider the connection to be lost
      • getConnections

        protected abstract java.util.Collection<WebSocket> getConnections()
        Getter to get all the currently available connections
        Returns:
        the currently available connections
        Since:
        1.3.4
      • cancelConnectionLostTimer

        private void cancelConnectionLostTimer()
        Cancel any running timer for the connection lost detection
        Since:
        1.3.4
      • isTcpNoDelay

        public boolean isTcpNoDelay()
        Tests if TCP_NODELAY is enabled.
        Returns:
        a boolean indicating whether or not TCP_NODELAY is enabled for new connections.
        Since:
        1.3.3
      • setTcpNoDelay

        public void setTcpNoDelay​(boolean tcpNoDelay)
        Setter for tcpNoDelay

        Enable/disable TCP_NODELAY (disable/enable Nagle's algorithm) for new connections

        Parameters:
        tcpNoDelay - true to enable TCP_NODELAY, false to disable.
        Since:
        1.3.3
      • isReuseAddr

        public boolean isReuseAddr()
        Tests Tests if SO_REUSEADDR is enabled.
        Returns:
        a boolean indicating whether or not SO_REUSEADDR is enabled.
        Since:
        1.3.5
      • setReuseAddr

        public void setReuseAddr​(boolean reuseAddr)
        Setter for soReuseAddr

        Enable/disable SO_REUSEADDR for the socket

        Parameters:
        reuseAddr - whether to enable or disable SO_REUSEADDR
        Since:
        1.3.5