Package org.red5.client.net.rtmp
Class RTMPConnManager
- java.lang.Object
-
- org.red5.client.net.rtmp.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 Summary
Fields Modifier and Type Field Description protected ConcurrentMap<String,org.red5.server.net.rtmp.RTMPConnection>connMapprotected AtomicIntegerconnsprotected static booleanenableTaskExecutorprotected static org.red5.server.net.IConnectionManager<org.red5.server.net.rtmp.RTMPConnection>instance
-
Constructor Summary
Constructors Constructor Description RTMPConnManager()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description org.red5.server.net.rtmp.RTMPConnectioncreateConnection(Class<?> connCls)org.red5.server.net.rtmp.RTMPConnectioncreateConnection(Class<?> connCls, String sessionId)org.red5.server.net.rtmp.RTMPConnectioncreateConnectionInstance(Class<?> cls)Creates a connection instance based on the supplied type.Collection<org.red5.server.net.rtmp.RTMPConnection>getAllConnections()org.red5.server.net.rtmp.RTMPConnectiongetConnection(int clientId)Returns a connection for a given client id.org.red5.server.net.rtmp.RTMPConnectiongetConnectionBySessionId(String sessionId)Returns a connection for a given session id.static org.red5.server.net.IConnectionManager<org.red5.server.net.rtmp.RTMPConnection>getInstance()org.red5.server.net.rtmp.RTMPConnectionremoveConnection(int clientId)org.red5.server.net.rtmp.RTMPConnectionremoveConnection(String sessionId)Collection<org.red5.server.net.rtmp.RTMPConnection>removeConnections()voidsetConnection(org.red5.server.net.rtmp.RTMPConnection conn)Adds a connection.static voidsetEnableTaskExecutor(boolean enableTaskExecutor)static voidsetExecutorQueueCapacity(int executorQueueCapacity)static voidsetMaxHandshakeTimeout(int maxHandshakeTimeout)static voidsetMaxInactivity(int maxInactivity)static voidsetPingInterval(int pingInterval)
-
-
-
Field Detail
-
enableTaskExecutor
protected static boolean enableTaskExecutor
-
instance
protected static org.red5.server.net.IConnectionManager<org.red5.server.net.rtmp.RTMPConnection> instance
-
connMap
protected ConcurrentMap<String,org.red5.server.net.rtmp.RTMPConnection> connMap
-
conns
protected AtomicInteger conns
-
-
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:
createConnectionin interfaceorg.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:
createConnectionin interfaceorg.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:
setConnectionin interfaceorg.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:
getConnectionin interfaceorg.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:
getConnectionBySessionIdin interfaceorg.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:
removeConnectionin interfaceorg.red5.server.net.IConnectionManager<org.red5.server.net.rtmp.RTMPConnection>
-
removeConnection
public org.red5.server.net.rtmp.RTMPConnection removeConnection(String sessionId)
- Specified by:
removeConnectionin interfaceorg.red5.server.net.IConnectionManager<org.red5.server.net.rtmp.RTMPConnection>
-
getAllConnections
public Collection<org.red5.server.net.rtmp.RTMPConnection> getAllConnections()
- Specified by:
getAllConnectionsin interfaceorg.red5.server.net.IConnectionManager<org.red5.server.net.rtmp.RTMPConnection>
-
removeConnections
public Collection<org.red5.server.net.rtmp.RTMPConnection> removeConnections()
- Specified by:
removeConnectionsin interfaceorg.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)
-
-