Package org.jitsi.service.neomedia
Class DefaultTCPStreamConnector
- java.lang.Object
-
- org.jitsi.service.neomedia.DefaultTCPStreamConnector
-
- All Implemented Interfaces:
StreamConnector
public class DefaultTCPStreamConnector extends Object implements StreamConnector
Represents a default implementation of StreamConnector which is initialized with a specific pair of control and data Sockets and which closes them (if they exist) when itsclose()is invoked.- Author:
- Lubomir Marinov, Sebastien Vincent
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.jitsi.service.neomedia.StreamConnector
StreamConnector.Protocol
-
-
Field Summary
Fields Modifier and Type Field Description protected SocketcontrolSocketThe Socket that a stream should use for control data (e.g.protected SocketdataSocketThe Socket that a stream should use for data (e.g.protected booleanrtcpmuxWhether this DefaultStreamConnector uses rtcp-mux.
-
Constructor Summary
Constructors Constructor Description DefaultTCPStreamConnector()Initializes a new DefaultTCPStreamConnector instance with no control and data Sockets.DefaultTCPStreamConnector(Socket dataSocket, Socket controlSocket)Initializes a new DefaultTCPStreamConnector instance which is to represent a specific pair of control and data Sockets.DefaultTCPStreamConnector(Socket dataSocket, Socket controlSocket, boolean rtcpmux)Initializes a new DefaultTCPStreamConnector instance which is to represent a specific pair of control and data Sockets.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Releases the resources allocated by this instance in the course of its execution and prepares it to be garbage collected.DatagramSocketgetControlSocket()Returns a reference to the DatagramSocket that a stream should use for control data (e.g.SocketgetControlTCPSocket()Returns a reference to the Socket that a stream should use for control data (e.g.DatagramSocketgetDataSocket()Returns a reference to the DatagramSocket that a stream should use for data (e.g.SocketgetDataTCPSocket()Returns a reference to the Socket that a stream should use for data (e.g.StreamConnector.ProtocolgetProtocol()Returns the protocol of this StreamConnector.booleanisRtcpmux()Returns true if this StreamConnector uses rtcp-mux, that is, if its data and control sockets share the same local address and port.voidstarted()Notifies this instance that utilization of its Sockets for data and/or control traffic has started.voidstopped()Notifies this instance that utilization of its Sockets for data and/or control traffic has temporarily stopped.
-
-
-
Field Detail
-
controlSocket
protected Socket controlSocket
The Socket that a stream should use for control data (e.g. RTCP) traffic.
-
dataSocket
protected Socket dataSocket
The Socket that a stream should use for data (e.g. RTP) traffic.
-
rtcpmux
protected boolean rtcpmux
Whether this DefaultStreamConnector uses rtcp-mux.
-
-
Constructor Detail
-
DefaultTCPStreamConnector
public DefaultTCPStreamConnector()
Initializes a new DefaultTCPStreamConnector instance with no control and data Sockets.Suitable for extenders willing to delay the creation of the control and data sockets. For example, they could override
getControlSocket()and/orgetDataSocket()and create them on demand.
-
DefaultTCPStreamConnector
public DefaultTCPStreamConnector(Socket dataSocket, Socket controlSocket)
Initializes a new DefaultTCPStreamConnector instance which is to represent a specific pair of control and data Sockets.- Parameters:
dataSocket- the Socket to be used for data (e.g. RTP) trafficcontrolSocket- the Socket to be used for control data (e.g. RTCP) traffic
-
DefaultTCPStreamConnector
public DefaultTCPStreamConnector(Socket dataSocket, Socket controlSocket, boolean rtcpmux)
Initializes a new DefaultTCPStreamConnector instance which is to represent a specific pair of control and data Sockets.- Parameters:
dataSocket- the Socket to be used for data (e.g. RTP) trafficcontrolSocket- the Socket to be used for control data (e.g. RTCP) trafficrtcpmux- whether rtcpmux is used.
-
-
Method Detail
-
close
public void close()
Releases the resources allocated by this instance in the course of its execution and prepares it to be garbage collected.- Specified by:
closein interfaceStreamConnector- See Also:
StreamConnector.close()
-
getControlSocket
public DatagramSocket getControlSocket()
Returns a reference to the DatagramSocket that a stream should use for control data (e.g. RTCP) traffic.- Specified by:
getControlSocketin interfaceStreamConnector- Returns:
- a reference to the DatagramSocket that a stream should use for control data (e.g. RTCP) traffic
- See Also:
StreamConnector.getControlSocket()
-
getDataSocket
public DatagramSocket getDataSocket()
Returns a reference to the DatagramSocket that a stream should use for data (e.g. RTP) traffic.- Specified by:
getDataSocketin interfaceStreamConnector- Returns:
- a reference to the DatagramSocket that a stream should use for data (e.g. RTP) traffic
- See Also:
StreamConnector.getDataSocket()
-
getDataTCPSocket
public Socket getDataTCPSocket()
Returns a reference to the Socket that a stream should use for data (e.g. RTP) traffic.- Specified by:
getDataTCPSocketin interfaceStreamConnector- Returns:
- a reference to the Socket that a stream should use for data (e.g. RTP) traffic.
-
getControlTCPSocket
public Socket getControlTCPSocket()
Returns a reference to the Socket that a stream should use for control data (e.g. RTCP).- Specified by:
getControlTCPSocketin interfaceStreamConnector- Returns:
- a reference to the Socket that a stream should use for control data (e.g. RTCP).
-
getProtocol
public StreamConnector.Protocol getProtocol()
Returns the protocol of this StreamConnector.- Specified by:
getProtocolin interfaceStreamConnector- Returns:
- the protocol of this StreamConnector
-
started
public void started()
Notifies this instance that utilization of its Sockets for data and/or control traffic has started.- Specified by:
startedin interfaceStreamConnector- See Also:
StreamConnector.started()
-
stopped
public void stopped()
Notifies this instance that utilization of its Sockets for data and/or control traffic has temporarily stopped. This instance should be prepared to be started at a later time again though.- Specified by:
stoppedin interfaceStreamConnector- See Also:
StreamConnector.stopped()
-
isRtcpmux
public boolean isRtcpmux()
Returns true if this StreamConnector uses rtcp-mux, that is, if its data and control sockets share the same local address and port.- Specified by:
isRtcpmuxin interfaceStreamConnector- Returns:
- true if this StreamConnector uses rtcp-mux, that is, if its data and control sockets share the same local address and port.
-
-