mandala.jacob.remote
Interface RemoteActiveMap

All Superinterfaces:
ActiveMap, LocalReferenceRetriever, java.util.Map, Remote, RemoteMap, java.io.Serializable
All Known Implementing Classes:
RemoteActiveMapProxy, RMIActiveMap

public interface RemoteActiveMap
extends ActiveMap, RemoteMap

Represents a remote active map.

This interface should be the only access to a remote active map for any remote clients.

Since:
1.0
Version:
1.0
Author:
eipi
See Also:
ActiveMap, Remote, ExceptionHandler

Nested Class Summary
static class RemoteActiveMap.CallRemoteExceptionInfo
          This class ease the handling of RemoteActiveMap.call() method thrown exceptions.
static class RemoteActiveMap.RemoteActiveMapMethods
           
static interface RemoteActiveMap.RemoteFutureFactory
           
 
Nested classes inherited from class java.util.Map
java.util.Map.Entry
 
Nested classes inherited from class mandala.jacob.remote.RemoteMap
RemoteMap.RemoteEntry, RemoteMap.RemoteMapMethods
 
Method Summary
 RemoteActiveMap.RemoteFutureFactory getDefaultFutureFactoryWrapper(FutureFactory futureFactory)
          Return the default remote future factory wrapper of "standard" (local) future factory.
 
Methods inherited from interface mandala.jacob.ActiveMap
call
 
Methods inherited from interface java.util.Map
clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, values
 
Methods inherited from interface mandala.jacob.remote.RemoteMap
entrySet, keySet, putAll, values
 
Methods inherited from interface mandala.jacob.remote.LocalReferenceRetriever
getID, getLocalReference
 
Methods inherited from interface mandala.jacob.remote.Remote
getExceptionHandler, setExceptionHandler
 

Method Detail

getDefaultFutureFactoryWrapper

public RemoteActiveMap.RemoteFutureFactory getDefaultFutureFactoryWrapper(FutureFactory futureFactory)

Return the default remote future factory wrapper of "standard" (local) future factory.

This method is tiedly coupled with the SORFactory class.

Every RemoteActiveMap implementation must provide default RemoteFutureFactory wrappers for traditionnal (i.e. local) FutureFactory in order to make remotely accessible the notion of futures which is decomposed in two parts:

The wrapper may for example make remote the FutureServer object so the RemoteActiveMap implementation can send/receive datas to/from it.

Another approach is to send the FutureServer on the other side, hence the result of method invocation can be keep on the host where the calculation have been made, and the RAMI Callback mechanism may be used to use this result where it is. In this case, no communication is necessary to send the result back to the client.

The last approach is to send both the FutureClient and the FutureServer on the other side, hence communication between FutureClient and FutureServer are done locally. A proxy must be created by the wrapper in order for local client to access to the remote FutureClient if necessary.

Parameters:
futureFactory - the futureFactory which create futures to be wrapped
Returns:
the FutureFactory that wraps futures returned by the given futureFactory


Mandala help mailing list