## org.mortbay.io
Interface EndPoint

All Known Implementing Classes:
  ByteArrayEndPoint, ChannelEndPoint, SelectChannelConnector.ConnectorEndPoint, SelectChannelEndPoint, SocketConnector.Connection, SocketEndPoint, SslHttpChannelEndPoint, SslSocketConnector.SslConnection, StreamEndPoint, StringEndPoint

    public interface EndPoint

Author:
  gregw A transport EndPoint

Method Summary
`boolean` `blockReadable(long millisecs)`
`boolean` `blockWritable(long millisecs)`
`void` `close()` Close any backing stream associated with the buffer
`int` `fill(Buffer buffer)` Fill the buffer from the current putIndex to it's capacity from whatever byte source is backing the buffer.
`void` `flush()` Flush any buffered output.
`int` `flush(Buffer buffer)` Flush the buffer from the current getIndex to it's putIndex using whatever byte sink is backing the buffer.
`int` `flush(Buffer header, Buffer buffer, Buffer trailer)` Flush the buffer from the current getIndex to it's putIndex using whatever byte sink is backing the buffer.
`String` `getLocalAddr()`
`String` `getLocalHost()`
`int` `getLocalPort()`
`String` `getRemoteAddr()`
`String` `getRemoteHost()`
`int` `getRemotePort()`
`Object` `getTransport()`
`boolean` `isBlocking()`
`boolean` `isBufferingInput()`
`boolean` `isBufferingOutput()`
`boolean` `isBufferred()`
`boolean` `isOpen()`

Method Detail

### close

    void close()
               throws IOException

  Close any backing stream associated with the buffer

  Throws:
    `IOException`

### fill

    int fill(Buffer buffer)
             throws IOException

  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.

  Returns:
    an `int` value indicating the number of bytes filled or -1 if EOF is reached.
  Throws:
    `IOException`

### flush

    int flush(Buffer buffer)
              throws IOException

  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.

  Parameters:
    `buffer` - The buffer to flush. This buffers getIndex is updated.
  Returns:
    the number of bytes written
  Throws:
    `IOException`

### flush

    int flush(Buffer header,
              Buffer buffer,
              Buffer trailer)
              throws IOException

  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.

  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`

### getLocalAddr

    String getLocalAddr()

  Returns:
    The local IP address to which this `EndPoint` is bound, or `null` if this `EndPoint` does not represent a network connection.

### getLocalHost

    String getLocalHost()

  Returns:
    The local host name to which this `EndPoint` is bound, or `null` if this `EndPoint` does not represent a network connection.

### getLocalPort

    int getLocalPort()

  Returns:
    The local port number on which this `EndPoint` is listening, or `0` if this `EndPoint` does not represent a network connection.

### getRemoteAddr

    String getRemoteAddr()

  Returns:
    The remote IP address to which this `EndPoint` is connected, or `null` if this `EndPoint` does not represent a network connection.

### getRemoteHost

    String getRemoteHost()

  Returns:
    The host name of the remote machine to which this `EndPoint` is connected, or `null` if this `EndPoint` does not represent a network connection.

### getRemotePort

    int getRemotePort()

  Returns:
    The remote port number to which this `EndPoint` is connected, or `0` if this `EndPoint` does not represent a network connection.

### isBlocking

    boolean isBlocking()

### isBufferred

    boolean isBufferred()

### blockReadable

    boolean blockReadable(long millisecs)
                          throws IOException

  Throws:
    `IOException`

### blockWritable

    boolean blockWritable(long millisecs)
                          throws IOException

  Throws:
    `IOException`

### isOpen

    boolean isOpen()

### getTransport

    Object getTransport()

  Returns:
    The underlying transport object (socket, channel, etc.)

### isBufferingInput

    boolean isBufferingInput()

  Returns:
    True if the endpoint has some buffered input data

### isBufferingOutput

    boolean isBufferingOutput()

  Returns:
    True if the endpoint has some buffered output data

### flush

    void flush()
               throws IOException

  Flush any buffered output. May fail to write all data if endpoint is non-blocking

  Throws:
    `IOException`

Copyright © 2007 Mort Bay Consulting. All Rights Reserved.