|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.cosylab.epics.caj.impl.BroadcastTransport
public class BroadcastTransport
CA UDP transport implementation.
It receives datagrams from BroadcastConnector registered
repeater and sends broadcasts datagrams to given addresses.
| Field Summary | |
|---|---|
protected ResponseHandler |
responseHandler
CAS reponse handler. |
| Constructor Summary | |
|---|---|
BroadcastTransport(CAContext context,
ResponseHandler responseHandler,
DatagramChannel channel,
InetSocketAddress connectAddress,
short remoteTransportRevision)
|
|
| Method Summary | |
|---|---|
void |
bind(boolean reuseAddress)
Bind UDP socket to the connectAddress. |
void |
close()
Close transport. |
boolean |
flush()
Enqueue (if necessary submit) request message. |
InetSocketAddress[] |
getBroadcastAddresses()
Get list of broadcast addresses. |
InetSocketAddress[] |
getBroadcastAddresses(int port)
|
DatagramChannel |
getChannel()
|
InetSocketAddress |
getConnectAddress()
Get connect address. |
CAContext |
getContext()
Get context transport is living in. |
InetSocketAddress[] |
getIgnoredAddresses()
Get list of ignored addresses. |
short |
getMinorRevision()
Transport protocol minor revision. |
short |
getPriority()
Transport priority. |
InetSocketAddress |
getRemoteAddress()
Get remote address. |
void |
handleEvent(SelectionKey key)
Handle IO event. |
protected void |
processRead()
Process input (read) IO event. |
protected void |
processWrite()
Process output (write) IO event. |
protected void |
send(ByteBuffer buffer)
Send a buffer through the transport. |
protected void |
send(ByteBuffer buffer,
InetSocketAddress address)
Send a buffer through the transport immediately. |
void |
send(Request requestMessage,
InetSocketAddress address)
Send a request message through the transport. |
void |
setBroadcastAddresses(InetSocketAddress[] addresses)
Set list of broadcast addresses. |
void |
setIgnoredAddresses(InetSocketAddress[] addresses)
Set list of broadcast addresses. |
void |
submit(Request requestMessage)
Send request message(s) immediately. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected ResponseHandler responseHandler
| Constructor Detail |
|---|
public BroadcastTransport(CAContext context,
ResponseHandler responseHandler,
DatagramChannel channel,
InetSocketAddress connectAddress,
short remoteTransportRevision)
context - | Method Detail |
|---|
public InetSocketAddress[] getBroadcastAddresses(int port)
public void bind(boolean reuseAddress)
throws SocketException
connectAddress.
reuseAddress - resuse address option.
SocketExceptionpublic void close()
public void handleEvent(SelectionKey key)
handleEvent in interface ReactorHandlerkey - key to be processed.ReactorHandler.handleEvent(java.nio.channels.SelectionKey)protected void processRead()
protected void processWrite()
protected void send(ByteBuffer buffer)
buffer - buffer to send.
protected void send(ByteBuffer buffer,
InetSocketAddress address)
throws IOException
buffer - buffer to send.address - send address.
IOExceptionpublic short getMinorRevision()
Transport
getMinorRevision in interface TransportTransport.getMinorRevision()public void submit(Request requestMessage)
submit in interface TransportrequestMessage - request message to enqueue.Transport.submit(com.cosylab.epics.caj.impl.Request)
public void send(Request requestMessage,
InetSocketAddress address)
throws IOException
requestMessage - message to send.address - send address.
IOExceptionpublic CAContext getContext()
Transport
getContext in interface TransportTransport.getContext()public short getPriority()
Transport
getPriority in interface TransportTransport.getPriority()public boolean flush()
Transport
flush in interface Transporttrue on success, false on failure.Transport.flush()public InetSocketAddress getRemoteAddress()
Transport
getRemoteAddress in interface TransportTransport.getRemoteAddress()public InetSocketAddress[] getBroadcastAddresses()
public InetSocketAddress[] getIgnoredAddresses()
public InetSocketAddress getConnectAddress()
public void setBroadcastAddresses(InetSocketAddress[] addresses)
DEFAULT_BROADCAST_ADDRESSES list.
addresses - list of broadcast addresses, non-null.public void setIgnoredAddresses(InetSocketAddress[] addresses)
addresses - list of ignored addresses.public DatagramChannel getChannel()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||