rST - Documentation
Last updated at 5:01 pm UTC on 16 January 2006
This is the preliminar documentation for rST - Remote Smalltalk
Documentation readers are nedeed, please fix/ask/modify!!!
Classes - Participants
RSTBroker
The singleton of this class is the responsible to send and receive (now by sockets) remote messages. It has a collection of exported objects with the remoteKey assigned (see class WeakKeyManager) and a collection of proxies (see RSTRemoteObjectproxy) to remote objects.
RSTBroker stop. <font color="green">"stop the current broker and clear the singleton"</font>
RSTBroker start. <font color="green">"start the broker on the default port 9999"</font>
RSTBroker startOnPort:8888. <font color="green">"start the broker on the specified port"</font>
RSTBroker startOnPort:8888 logging:true. <font color="green">"start the broker on the specified port and with the logging option"</font>
RSTRemoteMessage
It represents a Message (selector and parameters) plus the "to" information. It's created by the RSTRemoteObjectproxy.
RSTRemoteObjectID
This is an identifier for remote objects, it's composed of proxyID and objectID. It can be created from a string in the format: 'objectID@brokerID'
RSTRemoteObjectID fromString:'Transcript@oneMachine:9999'.
'today@127.0.0.1' asRemoteObjectID.
RSTRemoteObjectproxy
This is a reference to a remote object. It uses the #doesNotUnderstand: to forward all messages to the remote object represented by remoteObjectID.
You can get a Proxy by name or as the result of a remote message to a previous proxy.
remoteToday := 'today@127.0.0.1' asRemoteObjectID asLocalObject. <font color="green">"get a proxy to today, if today is a local object you get the real object instead of a remote reference"</font>
remoteToday hash. <font color="green">"send the messahe #hash"</font>
remoteToday isRemote. <font color="green">"true"</font>
remoteToday addDays: 5. <font color="green">"another proxy to a new remote object"</font>
RSTRememberer
The purpose of RSTRememberer is to remember some objects for ever or for a time. It's used by the GC.
WeakKeyManager
Assigns and mantain unique keys for objects. The keys are the same and valid for all the life of the object. Use weak-references so the life of the object is not influenced by the key managment.
RSTObjectTransporter
Transport object from image to image. It transport parameters in remote message and the result back. It know to transport as copy, reference or exception.
RSTLivingReferencesExecutor
This class inform to a broker wich objects are still alive in others proxies.
RSTObjectNotFound, RSTRemoteException
Some exception to inform anormal situations.
ConnectionHandler
Used to manage socket connections. May be encapsulated in the near future!
Related links