ibis.satin.impl.sharedObjects
Class SharedObjects

java.lang.Object
  extended by ibis.satin.impl.sharedObjects.SharedObjects
All Implemented Interfaces:
Config

public final class SharedObjects
extends Object
implements Config


Field Summary
 
Fields inherited from interface ibis.satin.impl.Config
abortLogger, ASSERTS, CHECKPOINT_CLUSTER, CHECKPOINT_FILE, CHECKPOINT_FIRST, CHECKPOINT_INTERVAL, CHECKPOINT_MAXFILESIZE, CHECKPOINT_PUSH, CHECKPOINT_QUITTIME, CHECKPOINTING, CLIENT, CLOSE_CONNECTIONS, CLOSED, commLogger, CONNECT_TIMEOUT, CONNECTIONS_ON_DEMAND, connLogger, COORDINATOR_QUIT_DELAY_TIME, DELETE_CLUSTER_TIME, DELETE_TIME, DETAILED_STATS, DUMP, FT_NAIVE, ftLogger, grtLogger, HANDLE_MESSAGES_IN_LATENCY, inletLogger, KEEP_INTRA_CONNECTIONS, KILL_TIME, LABEL_ROUTING_MCAST, mainLogger, MASTER_HOST, MAX_CONNECTIONS, MAX_STEAL_THROTTLE, properties, PROPERTY_PREFIX, QUEUE_STEALS, s_alg, s_asserts, s_client, s_close_connections, s_closed, s_connections_on_demand, s_cpt, s_cpt_cluster, s_cpt_file, s_cpt_first, s_cpt_interval, s_cpt_maxFileSize, s_cpt_push, s_cpt_quit, s_delete_cluster_time, s_delete_time, s_detailed_stats, s_dump, s_ft_connectTimeout, s_ft_naive, s_in_latency, s_keep_intra_connections, s_kill_time, s_masterhost, s_max_connections, s_max_steal_throttle, s_queue_steals, s_so_delay, s_so_lrmc, s_so_size, s_so_wait_time, s_stats, s_steal_wait_timeout, s_throttle_steals, s_unreliable, SO_MAX_INVOCATION_DELAY, SO_MAX_MESSAGE_SIZE, SO_WAIT_FOR_UPDATES_TIME, soBcastLogger, soLogger, spawnLogger, STATS, STEAL_WAIT_TIMEOUT, stealLogger, SUPPLIED_ALG, sysprops, THROTTLE_STEALS, UNRELIABLE
 
Constructor Summary
SharedObjects(Satin s)
           
 
Method Summary
 void addObject(SharedObject object)
          Add an object to the object table
 void addSOInvocation(SOInvocationRecord soir)
          Add a shared object invocation record to the so invocation record list; the invocation will be executed later
 void addToSORequestList(ibis.ipl.IbisIdentifier requester, String objID, boolean demand)
           
 void broadcastSharedObject(SharedObject object)
           
 void broadcastSOInvocation(SOInvocationRecord r)
           
 boolean executeGuard(InvocationRecord r)
          returns false if the job must be aborted
 void exit()
           
 ibis.satin.impl.sharedObjects.SharedObjectInfo getSOInfo(String objectId)
          Return a reference to a shared object
static ibis.ipl.PortType getSOPortType()
           
 SharedObject getSOReference(String objectId)
          Return a reference to a shared object
 void handleCrash(ibis.ipl.IbisIdentifier id)
           
 void handleDelayedMessages()
           
 void handleJoins(ibis.ipl.IbisIdentifier[] joiners)
           
 void handleMyOwnJoin()
           
 void handleSONack(ibis.ipl.ReadMessage m)
           
 void handleSORequest(ibis.ipl.ReadMessage m, boolean demand)
           
 void handleSOTransfer(ibis.ipl.ReadMessage m)
           
 void removeSOConnection(ibis.ipl.IbisIdentifier id)
           
 void setSOReference(String objectId, ibis.ipl.IbisIdentifier source)
          Check if the given shared object is in the table, if not, ship it from source.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SharedObjects

public SharedObjects(Satin s)
Method Detail

addObject

public void addObject(SharedObject object)
Add an object to the object table


getSOReference

public SharedObject getSOReference(String objectId)
Return a reference to a shared object


getSOInfo

public ibis.satin.impl.sharedObjects.SharedObjectInfo getSOInfo(String objectId)
Return a reference to a shared object


setSOReference

public void setSOReference(String objectId,
                           ibis.ipl.IbisIdentifier source)
                    throws SOReferenceSourceCrashedException
Check if the given shared object is in the table, if not, ship it from source. This is called from the generated code.

Throws:
SOReferenceSourceCrashedException

addSOInvocation

public void addSOInvocation(SOInvocationRecord soir)
Add a shared object invocation record to the so invocation record list; the invocation will be executed later


executeGuard

public boolean executeGuard(InvocationRecord r)
returns false if the job must be aborted


addToSORequestList

public void addToSORequestList(ibis.ipl.IbisIdentifier requester,
                               String objID,
                               boolean demand)

handleDelayedMessages

public void handleDelayedMessages()

handleSORequest

public void handleSORequest(ibis.ipl.ReadMessage m,
                            boolean demand)

handleSOTransfer

public void handleSOTransfer(ibis.ipl.ReadMessage m)

handleSONack

public void handleSONack(ibis.ipl.ReadMessage m)

handleJoins

public void handleJoins(ibis.ipl.IbisIdentifier[] joiners)

handleMyOwnJoin

public void handleMyOwnJoin()

removeSOConnection

public void removeSOConnection(ibis.ipl.IbisIdentifier id)

broadcastSOInvocation

public void broadcastSOInvocation(SOInvocationRecord r)

broadcastSharedObject

public void broadcastSharedObject(SharedObject object)

handleCrash

public void handleCrash(ibis.ipl.IbisIdentifier id)

exit

public void exit()

getSOPortType

public static ibis.ipl.PortType getSOPortType()
                                       throws IOException
Throws:
IOException


The Ibis project