public class BroadcastTransport extends java.lang.Object implements ReactorHandler, Transport
BroadcastConnector registered
repeater and sends broadcasts datagrams to given addresses.| Modifier and Type | Field and Description |
|---|---|
protected ResponseHandlers.ResponseHandler |
responseHandler
Response handler.
|
| Constructor and Description |
|---|
BroadcastTransport(ContextImpl context,
ResponseHandlers.ResponseHandler responseHandler,
java.nio.channels.DatagramChannel channel,
java.net.InetSocketAddress connectAddress,
java.net.InetSocketAddress[] broadcastAddresses) |
| Modifier and Type | Method and Description |
|---|---|
java.nio.ByteBuffer |
acquireSendBuffer(int requiredSize) |
void |
close()
Close transport.
|
void |
flush() |
ContextImpl |
getContext()
Get context transport is living in.
|
short |
getMinorRevision()
Transport protocol minor revision.
|
int |
getPriority() |
java.net.InetSocketAddress |
getRemoteAddress()
Get remote address.
|
void |
handleEvent(java.nio.channels.SelectionKey key)
Handle IO event.
|
protected void |
processRead()
Process input (read) IO event.
|
protected void |
processWrite()
Process output (write) IO event.
|
void |
releaseSendBuffer(boolean ignore,
boolean flush) |
void |
send(java.nio.ByteBuffer buffer)
Send a buffer through the transport.
|
void |
send(java.nio.ByteBuffer buffer,
java.net.InetSocketAddress address)
Send a buffer through the transport immediately.
|
protected final ResponseHandlers.ResponseHandler responseHandler
public BroadcastTransport(ContextImpl context, ResponseHandlers.ResponseHandler responseHandler, java.nio.channels.DatagramChannel channel, java.net.InetSocketAddress connectAddress, java.net.InetSocketAddress[] broadcastAddresses)
context - the context.responseHandler - the response handler.channel - the channel.connectAddress - the connect address.broadcastAddresses - array of broadcast addresses.public void close()
public void handleEvent(java.nio.channels.SelectionKey key)
handleEvent in interface ReactorHandlerkey - key to be processed.protected void processRead()
protected void processWrite()
public void send(java.nio.ByteBuffer buffer)
buffer - buffer to send.public void send(java.nio.ByteBuffer buffer,
java.net.InetSocketAddress address)
throws java.io.IOException
buffer - buffer to send.address - send address.java.io.IOException - if attempts to write to the channel fail.public java.net.InetSocketAddress getRemoteAddress()
TransportgetRemoteAddress in interface Transportpublic ContextImpl getContext()
TransportgetContext in interface Transportpublic short getMinorRevision()
TransportgetMinorRevision in interface Transportpublic int getPriority()
getPriority in interface Transportpublic java.nio.ByteBuffer acquireSendBuffer(int requiredSize)
acquireSendBuffer in interface Transportpublic void releaseSendBuffer(boolean ignore,
boolean flush)
releaseSendBuffer in interface Transport