com.rbnb.api
Interface PlugIn

All Superinterfaces:
Client, ClientInterface, Cloneable, PlugInInterface, RegisteredInterface, RmapInterface, Serializable, UsernameInterface

public interface PlugIn
extends Client, PlugInInterface

Client-side representation of a plugin 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.ClientInterface
CLIENT, FOREVER, MIRROR, PLUGIN
 
Method Summary
 long bytesTransferred()
           
 Object clone()
          Clones this object.
 Object fetch(long timeOutI)
          Retrieves the next request from the Server.
 void fillRequestOptions(RequestOptions roO)
          Fills the input RequestOptions object with values read from the server.
 
Methods inherited from interface com.rbnb.api.Client
isSynchronized, start, start, start, stop, stop, stop, stop, synchronizeWserver
 
Methods inherited from interface com.rbnb.api.PlugInInterface
register, reRegister
 
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 PlugInInterface
Specified by:
clone in interface RmapInterface
Returns:
the clone.
Since:
V2.5
See Also:
Cloneable
Author:
John Wilson
Version:
09/29/2004

fillRequestOptions

void fillRequestOptions(RequestOptions roO)
Fills the input RequestOptions object with values read from the server.

Parameters:
roO - the RequestOptions to fill.
Since:
V2.2
Author:
Ian Brown
Version:
06/11/2003

bytesTransferred

long bytesTransferred()

fetch

Object fetch(long timeOutI)
             throws AddressException,
                    SerializeException,
                    EOFException,
                    IOException,
                    InterruptedException
Retrieves the next request from the Server.

The request can either be an Rmap hierarchy or an Ask object. In the latter case, the Ask object specifies that it is looking for registration information and the additional information is an Rmap hierarchy.

The Rmap hierarchy of the request returned consists of a top-level DataRequest object with a name and time/frame information that identifies which request this is. This information should be copied to an Rmap at the top of the response hierarchy.

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 request as an Object:
  • null is returned if the timeout period is exceeded before a request is seen,
  • an EndOfStream object is returned if the request ends normally,
  • an Ask object requesting registration, or
  • an Rmap containing the request 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:
DataRequest, Rmap, RmapInterface.addChild(com.rbnb.api.Rmap)
Author:
Ian Brown
Version:
04/15/2002