XNIO API 3.0.4.GA

org.xnio.channels
Interface ReadableMultipointMessageChannel

All Superinterfaces:
Channel, Closeable, CloseableChannel, Configurable, InterruptibleChannel, SuspendableReadChannel
All Known Subinterfaces:
BoundMultipointMessageChannel, MulticastMessageChannel, MultipointMessageChannel

public interface ReadableMultipointMessageChannel
extends SuspendableReadChannel

The readable side of a multipoint message channel.


Method Summary
 ChannelListener.Setter<? extends ReadableMultipointMessageChannel> getCloseSetter()
          Get the setter which can be used to change the close listener for this channel.
 ChannelListener.Setter<? extends ReadableMultipointMessageChannel> getReadSetter()
          Get the setter which can be used to change the read listener for this channel.
 int receiveFrom(SocketAddressBuffer addressBuffer, ByteBuffer buffer)
          Receive a message via this channel.
 long receiveFrom(SocketAddressBuffer addressBuffer, ByteBuffer[] buffers)
          Receive a message.
 long receiveFrom(SocketAddressBuffer addressBuffer, ByteBuffer[] buffers, int offs, int len)
          Receive a message.
 
Methods inherited from interface org.xnio.channels.SuspendableReadChannel
awaitReadable, awaitReadable, getReadThread, isReadResumed, resumeReads, shutdownReads, suspendReads, wakeupReads
 
Methods inherited from interface org.xnio.channels.CloseableChannel
close, getWorker
 
Methods inherited from interface java.nio.channels.Channel
isOpen
 
Methods inherited from interface org.xnio.channels.Configurable
getOption, setOption, supportsOption
 

Method Detail

receiveFrom

int receiveFrom(SocketAddressBuffer addressBuffer,
                ByteBuffer buffer)
                throws IOException
Receive a message via this channel. If a message is immediately available, then the datagram is written into the given buffer and the source and destination addresses (if available) read into the address buffer. If there is no message immediately available, this method will return 0.

Parameters:
addressBuffer - the address buffer into which the source and destination addresses should be written (null to discard that information)
buffer - the buffer into which data should be read
Returns:
the size of the received message, 0 if no message is available, and -1 if the message channel has reached an end-of-file condition
Throws:
IOException - if an I/O error occurs

receiveFrom

long receiveFrom(SocketAddressBuffer addressBuffer,
                 ByteBuffer[] buffers)
                 throws IOException
Receive a message. If a message is immediately available, then the datagram is written into the given buffers in a "scatter" fashion and the source and destination addresses (if available) read into the address buffer. If there is no message immediately available, this method will return 0.

Parameters:
addressBuffer - the address buffer into which the source and destination addresses should be written (null to discard that information)
buffers - the buffers that will hold the message
Returns:
the size of the received message, 0 if no message is available, and -1 if the message channel has reached an end-of-file condition
Throws:
IOException - if an I/O error occurs

receiveFrom

long receiveFrom(SocketAddressBuffer addressBuffer,
                 ByteBuffer[] buffers,
                 int offs,
                 int len)
                 throws IOException
Receive a message. If a message is immediately available, then the datagram is written into the given buffers in a "scatter" fashion and the source and destination addresses (if available) read into the address buffer. If there is no message immediately available, this method will return 0.

Parameters:
addressBuffer - the address buffer into which the source and destination addresses should be written (null to discard that information)
buffers - the buffers that will hold the message
offs - the offset into the array of buffers of the first buffer to read into
len - the number of buffers to fill
Returns:
the size of the received message, 0 if no message is available, and -1 if the message channel has reached an end-of-file condition
Throws:
IOException - if an I/O error occurs

getReadSetter

ChannelListener.Setter<? extends ReadableMultipointMessageChannel> getReadSetter()
Get the setter which can be used to change the read listener for this channel. When the listener is called, additional notifications are automatically suspended.

Specified by:
getReadSetter in interface SuspendableReadChannel
Returns:
the setter

getCloseSetter

ChannelListener.Setter<? extends ReadableMultipointMessageChannel> getCloseSetter()
Get the setter which can be used to change the close listener for this channel. If the channel is already closed, then the listener will not be called.

Specified by:
getCloseSetter in interface CloseableChannel
Specified by:
getCloseSetter in interface SuspendableReadChannel
Returns:
the setter

XNIO API 3.0.4.GA

Copyright © 2010 JBoss, a division of Red Hat, Inc.