org.lastbamboo.common.ice.sdp
Class IceCandidateSdpEncoder

java.lang.Object
  extended by org.lastbamboo.common.ice.sdp.IceCandidateSdpEncoder
All Implemented Interfaces:
IceCandidateVisitor<org.apache.commons.lang.ObjectUtils.Null>

public class IceCandidateSdpEncoder
extends Object
implements IceCandidateVisitor<org.apache.commons.lang.ObjectUtils.Null>

Class for encoding ICE candidates into SDP. For a discussion of the priorities associated with each candidate type and for a general discussion of ICE, this was written based on draft-ietf-mmusic-ice-16 at:

http://www.tools.ietf.org/html/draft-ietf-mmusic-ice-16

Here's the augmented BNF for candidates: candidate-attribute = "candidate" ":" foundation SP component-id SP transport SP priority SP connection-address SP ;from RFC 4566 port ;port from RFC 4566 SP cand-type [SP rel-addr] [SP rel-port] *(SP extension-att-name SP extension-att-value) foundation = 1*32ice-char component-id = 1*5DIGIT transport = "UDP" / transport-extension transport-extension = token ; from RFC 3261 priority = 1*10DIGIT cand-type = "typ" SP candidate-types candidate-types = "host" / "srflx" / "prflx" / "relay" / token rel-addr = "raddr" SP connection-address rel-port = "rport" SP port extension-att-name = byte-string ;from RFC 4566 extension-att-value = byte-string ice-char = ALPHA / DIGIT / "+" / "/"


Constructor Summary
IceCandidateSdpEncoder(String mimeContentType, String mimeContentSubtype)
          Creates a new encoder for encoder ICE candidates into SDP.
 
Method Summary
 byte[] getSdp()
          Accesses the SDP as an array of bytes.
 void visitCandidates(Collection<IceCandidate> candidates)
          Visits the specified Collection of ICE candidates.
 org.apache.commons.lang.ObjectUtils.Null visitTcpActiveCandidate(IceTcpActiveCandidate candidate)
           
 org.apache.commons.lang.ObjectUtils.Null visitTcpHostPassiveCandidate(IceTcpHostPassiveCandidate candidate)
           
 org.apache.commons.lang.ObjectUtils.Null visitTcpPeerReflexiveCandidate(IceTcpPeerReflexiveCandidate candidate)
           
 org.apache.commons.lang.ObjectUtils.Null visitTcpRelayPassiveCandidate(IceTcpRelayPassiveCandidate candidate)
           
 org.apache.commons.lang.ObjectUtils.Null visitTcpServerReflexiveSoCandidate(IceTcpServerReflexiveSoCandidate candidate)
           
 org.apache.commons.lang.ObjectUtils.Null visitUdpHostCandidate(IceUdpHostCandidate candidate)
           
 org.apache.commons.lang.ObjectUtils.Null visitUdpPeerReflexiveCandidate(IceUdpPeerReflexiveCandidate candidate)
           
 org.apache.commons.lang.ObjectUtils.Null visitUdpRelayCandidate(IceUdpRelayCandidate candidate)
           
 org.apache.commons.lang.ObjectUtils.Null visitUdpServerReflexiveCandidate(IceUdpServerReflexiveCandidate candidate)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IceCandidateSdpEncoder

public IceCandidateSdpEncoder(String mimeContentType,
                              String mimeContentSubtype)
Creates a new encoder for encoder ICE candidates into SDP.

Parameters:
mimeContentType - The MIME content type for the SDP.
mimeContentSubtype - The MIME content subtype for the SDP.
Method Detail

getSdp

public byte[] getSdp()
Accesses the SDP as an array of bytes.

Returns:
The SDP as an array of bytes.

visitCandidates

public void visitCandidates(Collection<IceCandidate> candidates)
Description copied from interface: IceCandidateVisitor
Visits the specified Collection of ICE candidates.

Specified by:
visitCandidates in interface IceCandidateVisitor<org.apache.commons.lang.ObjectUtils.Null>
Parameters:
candidates - The Collection of candidates to visit.

visitTcpHostPassiveCandidate

public org.apache.commons.lang.ObjectUtils.Null visitTcpHostPassiveCandidate(IceTcpHostPassiveCandidate candidate)
Specified by:
visitTcpHostPassiveCandidate in interface IceCandidateVisitor<org.apache.commons.lang.ObjectUtils.Null>

visitTcpPeerReflexiveCandidate

public org.apache.commons.lang.ObjectUtils.Null visitTcpPeerReflexiveCandidate(IceTcpPeerReflexiveCandidate candidate)
Specified by:
visitTcpPeerReflexiveCandidate in interface IceCandidateVisitor<org.apache.commons.lang.ObjectUtils.Null>

visitTcpRelayPassiveCandidate

public org.apache.commons.lang.ObjectUtils.Null visitTcpRelayPassiveCandidate(IceTcpRelayPassiveCandidate candidate)
Specified by:
visitTcpRelayPassiveCandidate in interface IceCandidateVisitor<org.apache.commons.lang.ObjectUtils.Null>

visitTcpServerReflexiveSoCandidate

public org.apache.commons.lang.ObjectUtils.Null visitTcpServerReflexiveSoCandidate(IceTcpServerReflexiveSoCandidate candidate)
Specified by:
visitTcpServerReflexiveSoCandidate in interface IceCandidateVisitor<org.apache.commons.lang.ObjectUtils.Null>

visitTcpActiveCandidate

public org.apache.commons.lang.ObjectUtils.Null visitTcpActiveCandidate(IceTcpActiveCandidate candidate)
Specified by:
visitTcpActiveCandidate in interface IceCandidateVisitor<org.apache.commons.lang.ObjectUtils.Null>

visitUdpHostCandidate

public org.apache.commons.lang.ObjectUtils.Null visitUdpHostCandidate(IceUdpHostCandidate candidate)
Specified by:
visitUdpHostCandidate in interface IceCandidateVisitor<org.apache.commons.lang.ObjectUtils.Null>

visitUdpPeerReflexiveCandidate

public org.apache.commons.lang.ObjectUtils.Null visitUdpPeerReflexiveCandidate(IceUdpPeerReflexiveCandidate candidate)
Specified by:
visitUdpPeerReflexiveCandidate in interface IceCandidateVisitor<org.apache.commons.lang.ObjectUtils.Null>

visitUdpRelayCandidate

public org.apache.commons.lang.ObjectUtils.Null visitUdpRelayCandidate(IceUdpRelayCandidate candidate)
Specified by:
visitUdpRelayCandidate in interface IceCandidateVisitor<org.apache.commons.lang.ObjectUtils.Null>

visitUdpServerReflexiveCandidate

public org.apache.commons.lang.ObjectUtils.Null visitUdpServerReflexiveCandidate(IceUdpServerReflexiveCandidate candidate)
Specified by:
visitUdpServerReflexiveCandidate in interface IceCandidateVisitor<org.apache.commons.lang.ObjectUtils.Null>


Copyright © 2013 LittleShoot. All Rights Reserved.