Interface RemoteActiveMap

All Superinterfaces:
ActiveMap, LocalReferenceRetriever, java.util.Map, Remote, RemoteMap,
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.

See Also:
ActiveMap, Remote, ExceptionHandler

Nested Class Summary
static class RemoteActiveMap.CallRemoteExceptionInfo
          This class ease the handling of method thrown exceptions.
static class RemoteActiveMap.RemoteActiveMapMethods
static interface RemoteActiveMap.RemoteFutureFactory
Nested classes inherited from class java.util.Map
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
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


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.

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

Mandala help mailing list