## com.rbnb.api
Interface Sink

All Superinterfaces:
  Client, ClientInterface, Cloneable, RegisteredInterface, RmapInterface, Serializable, SinkInterface, Source, SourceInterface, UsernameInterface

    public interface Sink

extends SinkInterface, Source

Client-side representation of a sink client application connection to the RBNB server.

Since:
  V2.0
Author:
  Ian Brown
Version:
  09/29/2004

Field Summary

Fields inherited from interface com.rbnb.api.SourceInterface
`ACCESS_APPEND, ACCESS_CREATE, ACCESS_LOAD, ACCESS_NONE`

Fields inherited from interface com.rbnb.api.ClientInterface
`CLIENT, FOREVER, MIRROR, PLUGIN`

Method Summary
`Object` `clone()` Clones this object.
`Rmap` `fetch(long timeOutI)` Retrieves the next response from the `Server`.
`void` `sendRequestOptions(RequestOptions roI)` Sends a `RequestOptions` object to the server.

Methods inherited from interface com.rbnb.api.SinkInterface
`initiateRequestAt`

Methods inherited from interface com.rbnb.api.Source
`bytesTransferred`

Methods inherited from interface com.rbnb.api.Client
`isSynchronized, start, start, start, stop, stop, stop, stop, synchronizeWserver`

Methods inherited from interface com.rbnb.api.SourceInterface
`clearCache, deleteChannels, getAframes, getAkeep, getAmode, getAsize, getCframes, getCkeep, getCsize, getNfs, register, reset, setAframes, setAkeep, setAmode, setAsize, setCframes, setCkeep, setCsize, setNfs`

Methods inherited from interface com.rbnb.api.ClientInterface
`getRemoteID, getType, isRunning, setRemoteID, setType, tryReconnect`

Methods inherited from interface com.rbnb.api.RegisteredInterface
`getRegistered`

Methods inherited from interface com.rbnb.api.RmapInterface
`addChild, compareNames, compareNames, compareTo, findChild, findDescendant, getFullName, getName, getParent, removeChild, removeChildAt, setName, toString, toString`

Methods inherited from interface com.rbnb.api.UsernameInterface
`getUsername, setUsername`

Method Detail

### clone

    Object clone()

  Clones this object.

  This same abstract declaration is also included in RmapInterface.java, but for some unknown reason J# gives a compiler error if it is not also included here.

  Specified by:
    `clone` in interface `Client`
  Specified by:
    `clone` in interface `ClientInterface`
  Specified by:
    `clone` in interface `RmapInterface`
  Specified by:
    `clone` in interface `SinkInterface`
  Specified by:
    `clone` in interface `Source`
  Specified by:
    `clone` in interface `SourceInterface`
  Returns:
    the clone.
  Since:
    V2.5
  See Also:
    `Cloneable`
  Author:
    John Wilson
  Version:
    09/29/2004

### fetch

    Rmap fetch(long timeOutI)
               throws AddressException,
                      SerializeException,
                      EOFException,
                      IOException,
                      InterruptedException

  Retrieves the next response from the `Server`.

  Parameters:
    `timeOutI` - timeout in milliseconds.
    - 0 means return a response only if one is ready,
    - `FOREVER` means wait for a response to show up, or
    - anything else means wait for a response to show up or for the timeout period to elapse.
  Returns:
    the `Rmap` response:
    - null is returned if the timeout period is exceeded before a response is seen,
    - an `EndOfStream` object is returned if the request ends normally, or
    - an `Rmap` containing the response is returned.
  Throws:
    `AddressException` - thrown if there is a problem with an address.
    `SerializeException` - thrown if there is a problem with the serialization.
    `EOFException` - thrown if the end of the input stream is reached.
    `InterruptedIOException` - thrown if the I/O is interrupted.
    `IOException` - thrown if there is an error during I/O.
    `IllegalStateException` - thrown if there is no active request.
    `InterruptedException` - thrown if the operation is interrupted.
  Since:
    V2.0
  See Also:
    `EndOfStream`, `Rmap`, `SinkInterface.initiateRequestAt(int)`
  Author:
    Ian Brown
  Version:
    05/30/2001

### sendRequestOptions

    void sendRequestOptions(RequestOptions roI)
                            throws AddressException,
                                   SerializeException,
                                   EOFException,
                                   IOException,
                                   InterruptedException

  Sends a `RequestOptions` object to the server.

  Parameters:
    `roI` - the `RequestOptions` object.
  Throws:
    `AddressException` - thrown if there is a problem with an address.
    `SerializeException` - thrown if there is a problem with the serialization.
    `EOFException` - thrown if the end of the input stream is reached.
    `InterruptedIOException` - thrown if the I/O is interrupted.
    `IOException` - thrown if there is an error during I/O.
    `IllegalStateException` - thrown if there is no active request.
    `InterruptedException` - thrown if the operation is interrupted.
  Since:
    V2.2
  Author:
    Ian Brown
  Version:
    06/11/2003