org.lastbamboo.common.ice
Class TcpOfferAnswer<T>

java.lang.Object
  extended by org.lastbamboo.common.ice.TcpOfferAnswer<T>
All Implemented Interfaces:
IceOfferAnswer, org.lastbamboo.common.offer.answer.OfferAnswer, org.littleshoot.stun.stack.StunAddressProvider

public class TcpOfferAnswer<T>
extends Object
implements IceOfferAnswer, org.littleshoot.stun.stack.StunAddressProvider

OfferAnswer handler for TCP connections.


Constructor Summary
TcpOfferAnswer(org.lastbamboo.common.offer.answer.OfferAnswerListener<T> offerAnswerListener, boolean controlling, MappedServerSocket answererServer, org.littleshoot.util.CandidateProvider<InetSocketAddress> stunCandidateProvider, MappedTcpOffererServerPool offererServer, SocketFactory socketFactory)
          Creates a new TCP OfferAnswer class for processing offers and answers for creating a TCP connection to a remote peer.
 
Method Summary
 void close()
           
 void closeTcp()
           
 void closeUdp()
           
 Collection<? extends IceCandidate> gatherCandidates()
          Gathers candidates for this specific offer/answer implementation.
 byte[] generateAnswer()
           
 byte[] generateOffer()
           
 InetSocketAddress getHostAddress()
           
 InetSocketAddress getRelayAddress()
           
 InetSocketAddress getServerReflexiveAddress()
           
 InetAddress getStunServerAddress()
           
 void processAnswer(org.littleshoot.mina.common.ByteBuffer answer)
           
 void processOffer(org.littleshoot.mina.common.ByteBuffer offer)
           
 void useRelay()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TcpOfferAnswer

public TcpOfferAnswer(org.lastbamboo.common.offer.answer.OfferAnswerListener<T> offerAnswerListener,
                      boolean controlling,
                      MappedServerSocket answererServer,
                      org.littleshoot.util.CandidateProvider<InetSocketAddress> stunCandidateProvider,
                      MappedTcpOffererServerPool offererServer,
                      SocketFactory socketFactory)
Creates a new TCP OfferAnswer class for processing offers and answers for creating a TCP connection to a remote peer.

Parameters:
publicAddress - The public address for this host.
offerAnswerListener - The class to notify of sockets.
controlling - Whether or not we're the controlling side of the connection.
answererServer - The class that has a router-mapped port for the answering server socket.
stunCandidateProvider - Provider for STUN addresses.
Method Detail

close

public void close()
Specified by:
close in interface org.lastbamboo.common.offer.answer.OfferAnswer
Specified by:
close in interface org.littleshoot.stun.stack.StunAddressProvider

closeTcp

public void closeTcp()
Specified by:
closeTcp in interface org.lastbamboo.common.offer.answer.OfferAnswer

closeUdp

public void closeUdp()
Specified by:
closeUdp in interface org.lastbamboo.common.offer.answer.OfferAnswer

generateAnswer

public byte[] generateAnswer()
Specified by:
generateAnswer in interface org.lastbamboo.common.offer.answer.OfferAnswer

generateOffer

public byte[] generateOffer()
Specified by:
generateOffer in interface org.lastbamboo.common.offer.answer.OfferAnswer

processOffer

public void processOffer(org.littleshoot.mina.common.ByteBuffer offer)
Specified by:
processOffer in interface org.lastbamboo.common.offer.answer.OfferAnswer

processAnswer

public void processAnswer(org.littleshoot.mina.common.ByteBuffer answer)
Specified by:
processAnswer in interface org.lastbamboo.common.offer.answer.OfferAnswer

gatherCandidates

public Collection<? extends IceCandidate> gatherCandidates()
Description copied from interface: IceOfferAnswer
Gathers candidates for this specific offer/answer implementation.

Specified by:
gatherCandidates in interface IceOfferAnswer
Returns:
The collection of IceCandidates.

getHostAddress

public InetSocketAddress getHostAddress()
Specified by:
getHostAddress in interface org.littleshoot.stun.stack.StunAddressProvider

getRelayAddress

public InetSocketAddress getRelayAddress()
Specified by:
getRelayAddress in interface org.littleshoot.stun.stack.StunAddressProvider

getServerReflexiveAddress

public InetSocketAddress getServerReflexiveAddress()
                                            throws IOException
Specified by:
getServerReflexiveAddress in interface org.littleshoot.stun.stack.StunAddressProvider
Throws:
IOException

getStunServerAddress

public InetAddress getStunServerAddress()
Specified by:
getStunServerAddress in interface org.littleshoot.stun.stack.StunAddressProvider

useRelay

public void useRelay()
Specified by:
useRelay in interface org.lastbamboo.common.offer.answer.OfferAnswer


Copyright © 2013 LittleShoot. All Rights Reserved.