Squeak
  links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
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