org.mortbay.io.nio
Class ChannelEndPoint
java.lang.Object
org.mortbay.io.nio.ChannelEndPoint
- All Implemented Interfaces:
- EndPoint
- Direct Known Subclasses:
- BlockingChannelConnector.Connection, SelectBlockingChannelConnector.HttpEndPoint, SelectChannelConnector.HttpEndPoint
public class ChannelEndPoint
- extends Object
- implements EndPoint
- Author:
- gregw
To change the template for this generated type comment go to
Window - Preferences - Java - Code Generation - Code and Comments
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
_channel
ByteChannel _channel
_gather2
ByteBuffer[] _gather2
_gather3
ByteBuffer[] _gather3
_socket
Socket _socket
_local
InetSocketAddress _local
_remote
InetSocketAddress _remote
ChannelEndPoint
public ChannelEndPoint(ByteChannel channel)
isBlocking
public boolean isBlocking()
- Specified by:
isBlocking
in interface EndPoint
blockReadable
public void blockReadable(long millisecs)
- Specified by:
blockReadable
in interface EndPoint
blockWritable
public void blockWritable(long millisecs)
- Specified by:
blockWritable
in interface EndPoint
isOpen
public boolean isOpen()
- Specified by:
isOpen
in interface EndPoint
close
public void close()
throws IOException
- Description copied from interface:
EndPoint
- Close any backing stream associated with the buffer
- Specified by:
close
in interface EndPoint
- Throws:
IOException
fill
public int fill(Buffer buffer)
throws IOException
- Description copied from interface:
EndPoint
- Fill the buffer from the current putIndex to it's capacity from whatever
byte source is backing the buffer. The putIndex is increased if bytes filled.
The buffer may chose to do a compact before filling.
- Specified by:
fill
in interface EndPoint
- Returns:
- an
int
value indicating the number of bytes
filled or -1 if EOF is reached.
- Throws:
IOException
flush
public int flush(Buffer buffer)
throws IOException
- Description copied from interface:
EndPoint
- Flush the buffer from the current getIndex to it's putIndex using whatever byte
sink is backing the buffer. The getIndex is updated with the number of bytes flushed.
Any mark set is cleared.
If the entire contents of the buffer are flushed, then an implicit empty() is done.
- Specified by:
flush
in interface EndPoint
- Parameters:
buffer
- The buffer to flush. This buffers getIndex is updated.
- Returns:
- the number of bytes written
- Throws:
IOException
flush
public int flush(Buffer header,
Buffer buffer,
Buffer trailer)
throws IOException
- Description copied from interface:
EndPoint
- Flush the buffer from the current getIndex to it's putIndex using whatever byte
sink is backing the buffer. The getIndex is updated with the number of bytes flushed.
Any mark set is cleared.
If the entire contents of the buffer are flushed, then an implicit empty() is done.
The passed header/trailer buffers are written before/after the contents of this buffer. This may be done
either as gather writes, as a poke into this buffer or as several writes. The implementation is free to
select the optimal mechanism.
- Specified by:
flush
in interface EndPoint
- Parameters:
header
- A buffer to write before flushing this buffer. This buffers getIndex is updated.buffer
- The buffer to flush. This buffers getIndex is updated.trailer
- A buffer to write after flushing this buffer. This buffers getIndex is updated.
- Returns:
- the total number of bytes written.
- Throws:
IOException
getChannel
public ByteChannel getChannel()
- Returns:
- Returns the channel.
getLocalAddr
public String getLocalAddr()
- Specified by:
getLocalAddr
in interface EndPoint
- Returns:
getLocalHost
public String getLocalHost()
- Specified by:
getLocalHost
in interface EndPoint
- Returns:
getLocalPort
public int getLocalPort()
- Specified by:
getLocalPort
in interface EndPoint
- Returns:
getRemoteAddr
public String getRemoteAddr()
- Specified by:
getRemoteAddr
in interface EndPoint
getRemoteHost
public String getRemoteHost()
- Specified by:
getRemoteHost
in interface EndPoint
- Returns:
getRemotePort
public int getRemotePort()
- Specified by:
getRemotePort
in interface EndPoint
- Returns:
getConnection
public Object getConnection()
- Specified by:
getConnection
in interface EndPoint