|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--solar.service.transport.UdpTransport
The UDP transport layer, converting ADU to bytes for sending.
Field Summary | |
protected AduFactory |
_aduFactory
The factory to parse received byte array into ADU. |
protected java.lang.String |
_hostname
Particular interface to bind to. |
protected Address |
_laddr
The local address for UDP. |
protected java.util.List |
_listeners
The list of transport listeners. |
protected static org.apache.log4j.Logger |
_log
Logging facility. |
protected int |
_port
The listening server port. |
protected java.lang.Thread |
_receiver
The receiver thread receiving new messages. |
protected java.net.DatagramSocket |
_ssock
The socket to listen to. |
Fields inherited from interface solar.service.transport.TransportConstants |
PASTRY_ADDRESS, SOCKET_ADDRESS, TRANSPORT_PASTRY_PORT, TRANSPORT_TCP_PORT, TRANSPORT_UDP_MSS, TRANSPORT_UDP_PORT |
Constructor Summary | |
UdpTransport()
|
|
UdpTransport(int port)
|
|
UdpTransport(java.lang.String hostname,
int port)
|
Method Summary | |
void |
addTransportListener(TransportListener listener)
Add a transport listener. |
Address |
getAddressByKey(java.lang.String key)
Return a peer address by specified key. |
Address |
getLocalAddress()
Return the local address of this transport layer. |
private void |
notifyDataReceived(Adu adu,
Header header)
Notify transport listeners about received message. |
void |
removeTransportListener(TransportListener listener)
Remove a transport listener. |
void |
run()
|
void |
send(Adu adu,
Address dest)
Send the adu over transport to destination. |
void |
send(Adu adu,
Address dest,
Id multiplex)
Send the adu over transport to destination, with a multipex ID. |
void |
send(byte[] data,
Address dest)
Send an data unit to destination address. |
void |
send(byte[] data,
Address dest,
Id multiplex)
Send an data unit to destination address with a multiplexer. |
void |
setAduFactory(AduFactory factory)
Set the factory that parse the received bytes into data unit. |
private void |
start()
Start the UDP transport. |
void |
stop()
Stop the transport layer. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected static org.apache.log4j.Logger _log
protected java.lang.String _hostname
protected int _port
protected java.net.DatagramSocket _ssock
protected java.lang.Thread _receiver
protected java.util.List _listeners
protected Address _laddr
protected AduFactory _aduFactory
Constructor Detail |
public UdpTransport() throws java.lang.Exception
public UdpTransport(int port) throws java.lang.Exception
public UdpTransport(java.lang.String hostname, int port) throws java.lang.Exception
Method Detail |
public void setAduFactory(AduFactory factory)
Transport
setAduFactory
in interface Transport
public Address getLocalAddress()
Transport
getLocalAddress
in interface Transport
public Address getAddressByKey(java.lang.String key) throws TransportException
Transport
getAddressByKey
in interface Transport
TransportException
public void send(byte[] data, Address dest) throws TransportException
Transport
send
in interface Transport
TransportException
public void send(byte[] data, Address dest, Id multiplex) throws TransportException
Transport
send
in interface Transport
TransportException
public void send(Adu adu, Address dest) throws TransportException
Transport
send
in interface Transport
TransportException
public void send(Adu adu, Address dest, Id multiplex) throws TransportException
Transport
send
in interface Transport
TransportException
public void addTransportListener(TransportListener listener)
Transport
addTransportListener
in interface Transport
public void removeTransportListener(TransportListener listener)
Transport
removeTransportListener
in interface Transport
public void stop()
Transport
stop
in interface Transport
private void start() throws java.lang.Exception
java.lang.Exception
private void notifyDataReceived(Adu adu, Header header)
public void run()
run
in interface java.lang.Runnable
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |