org.objectweb.jonathan.protocols.rtp

Class RTPProtocol

Implemented Interfaces:
Protocol

public class RTPProtocol
extends Object
implements Protocol

RTPProtocol is a partial implementation of the RTP protocol. It is an invocation protocol allowing the emission of one-way requests packaged within RTP packets. Requests whose size exceeds the mtu of the underlying transport are fragmented and reassembled. The semantics of this protocol depends on the specific transport protocol on top of which it is plugged. RTPProtocol, proper, is unreliable and unordered

Field Summary

static byte
INVOC_PAYLOAD
our proprietary payload constant
static int
rtp_version
the version of RTP supported

Constructor Summary

RTPProtocol(int mtu)
Builds a new RTPProtocol instance

Method Summary

Protocol
createProtocol(NamingContext adapter)
ProtocolGraph
createProtocolGraph(ProtocolGraph[] lower, Context hints)
SessionIdentifier
createSessionIdentifier(Properties info, SessionIdentifier[] next)
boolean
isAnInvocationProtocol()
Returns true if the target protocol is an invocation protocol.
ProtocolGraph
newProtocolGraph(ProtocolGraph next)
Builds a new RTP ProtocolGraph
SessionIdentifier
newSessionIdentifier(SessionIdentifier next)
Builds a new RTP SessionIdentifier

Field Details

INVOC_PAYLOAD

public static final byte INVOC_PAYLOAD
our proprietary payload constant

Field Value:
10


rtp_version

public static final int rtp_version
the version of RTP supported

Field Value:
2

Constructor Details

RTPProtocol

public RTPProtocol(int mtu)
Builds a new RTPProtocol instance

Parameters:
mtu - the mtu that the RTPProtocol will assume for fragmenting messages

Method Details

createProtocol

public Protocol createProtocol(NamingContext adapter)


createProtocolGraph

public ProtocolGraph createProtocolGraph(ProtocolGraph[] lower,
                                         Context hints)
            throws JonathanException


createSessionIdentifier

public SessionIdentifier createSessionIdentifier(Properties info,
                                                 SessionIdentifier[] next)


isAnInvocationProtocol

public boolean isAnInvocationProtocol()
Specified by:
isAnInvocationProtocol in interface Protocol

Returns:
true if the target protocol is an invocation protocol.


newProtocolGraph

public ProtocolGraph newProtocolGraph(ProtocolGraph next)
Builds a new RTP ProtocolGraph

Parameters:
next - the lower level protocol graph.

Returns:
a new protocol graph.


newSessionIdentifier

public SessionIdentifier newSessionIdentifier(SessionIdentifier next)
Builds a new RTP SessionIdentifier

Parameters:
next - the lower level session identifier

Returns:
a new RTP SessionIdentifier.