Class RTMPConnManager

  • All Implemented Interfaces:
    org.red5.server.net.IConnectionManager<org.red5.server.net.rtmp.RTMPConnection>

    public class RTMPConnManager
    extends Object
    implements org.red5.server.net.IConnectionManager<org.red5.server.net.rtmp.RTMPConnection>
    Responsible for management and creation of RTMP based connections.
    Author:
    The Red5 Project
    • Field Detail

      • enableTaskExecutor

        protected static boolean enableTaskExecutor
      • instance

        protected static org.red5.server.net.IConnectionManager<org.red5.server.net.rtmp.RTMPConnection> instance
    • Constructor Detail

      • RTMPConnManager

        public RTMPConnManager()
    • Method Detail

      • getInstance

        public static org.red5.server.net.IConnectionManager<org.red5.server.net.rtmp.RTMPConnection> getInstance()
      • createConnection

        public org.red5.server.net.rtmp.RTMPConnection createConnection​(Class<?> connCls)
        Specified by:
        createConnection in interface org.red5.server.net.IConnectionManager<org.red5.server.net.rtmp.RTMPConnection>
      • createConnection

        public org.red5.server.net.rtmp.RTMPConnection createConnection​(Class<?> connCls,
                                                                        String sessionId)
        Specified by:
        createConnection in interface org.red5.server.net.IConnectionManager<org.red5.server.net.rtmp.RTMPConnection>
      • setConnection

        public void setConnection​(org.red5.server.net.rtmp.RTMPConnection conn)
        Adds a connection.
        Specified by:
        setConnection in interface org.red5.server.net.IConnectionManager<org.red5.server.net.rtmp.RTMPConnection>
        Parameters:
        conn - connection
      • getConnection

        public org.red5.server.net.rtmp.RTMPConnection getConnection​(int clientId)
        Returns a connection for a given client id.
        Specified by:
        getConnection in interface org.red5.server.net.IConnectionManager<org.red5.server.net.rtmp.RTMPConnection>
        Parameters:
        clientId - client id
        Returns:
        connection if found and null otherwise
      • getConnectionBySessionId

        public org.red5.server.net.rtmp.RTMPConnection getConnectionBySessionId​(String sessionId)
        Returns a connection for a given session id.
        Specified by:
        getConnectionBySessionId in interface org.red5.server.net.IConnectionManager<org.red5.server.net.rtmp.RTMPConnection>
        Parameters:
        sessionId - session id
        Returns:
        connection if found and null otherwise
      • removeConnection

        public org.red5.server.net.rtmp.RTMPConnection removeConnection​(int clientId)
        Specified by:
        removeConnection in interface org.red5.server.net.IConnectionManager<org.red5.server.net.rtmp.RTMPConnection>
      • removeConnection

        public org.red5.server.net.rtmp.RTMPConnection removeConnection​(String sessionId)
        Specified by:
        removeConnection in interface org.red5.server.net.IConnectionManager<org.red5.server.net.rtmp.RTMPConnection>
      • getAllConnections

        public Collection<org.red5.server.net.rtmp.RTMPConnection> getAllConnections()
        Specified by:
        getAllConnections in interface org.red5.server.net.IConnectionManager<org.red5.server.net.rtmp.RTMPConnection>
      • removeConnections

        public Collection<org.red5.server.net.rtmp.RTMPConnection> removeConnections()
        Specified by:
        removeConnections in interface org.red5.server.net.IConnectionManager<org.red5.server.net.rtmp.RTMPConnection>
      • createConnectionInstance

        public org.red5.server.net.rtmp.RTMPConnection createConnectionInstance​(Class<?> cls)
                                                                         throws Exception
        Creates a connection instance based on the supplied type.
        Parameters:
        cls - class
        Returns:
        connection
        Throws:
        Exception - thrown
      • setMaxHandshakeTimeout

        public static void setMaxHandshakeTimeout​(int maxHandshakeTimeout)
      • setMaxInactivity

        public static void setMaxInactivity​(int maxInactivity)
      • setPingInterval

        public static void setPingInterval​(int pingInterval)
      • setExecutorQueueCapacity

        public static void setExecutorQueueCapacity​(int executorQueueCapacity)
      • setEnableTaskExecutor

        public static void setEnableTaskExecutor​(boolean enableTaskExecutor)