org.objectweb.proactive
Interface Body

All Superinterfaces:
Job, LocalBodyStrategy, MessageEventProducer, UniversalBody
All Known Implementing Classes:
AbstractBody

public interface Body
extends LocalBodyStrategy, UniversalBody, MessageEventProducer, Job

An object implementing this interface is an implementation of the non fonctionnal part of an ActiveObject. This representation is local to the ActiveObject. By contrast there is a remote representation of Body that can be accessed by distant object.

UniversalBody defines the remote accessible part of the body while LocalBody defines the local accessible part of the body.

The body of an ActiveObject provides needed services such as a the ability to sent and receive request and reply.

The interface also defines how the activity methods of an active object sees its Body.

A body has 2 associated states :

Note that a thread can be alive but not active, such as a forwarder that just forward request to another peer.

Since:
ProActive 0.9
Version:
1.0, 2001/10/23
Author:
ProActive Team

Method Summary
 void acceptCommunication()
          Signals the body to accept all incoming communications.
 void blockCommunication()
          blocks all incoming communications.
 UniversalBody checkNewLocation(UniqueID uniqueID)
          Tries to find a local version of the body of id uniqueID.
 void enterInThreadStore()
          Allows the calling thread to enter in the ThreadStore of this body.
 void exitFromThreadStore()
          Allows the calling thread to exit from the ThreadStore of this body.
 boolean isActive()
          Returns whether the body is active or not.
 boolean isAlive()
          Returns whether the body is alive or not.
 void terminate()
          Terminate the body.
 
Methods inherited from interface org.objectweb.proactive.core.body.LocalBodyStrategy
getFuturePool, getName, getReifiedObject, getRequestQueue, sendRequest, serve
 
Methods inherited from interface org.objectweb.proactive.core.body.UniversalBody
disableAC, enableAC, getCertificate, getCertificateEncoded, getEntities, getID, getNodeURL, getPolicy, getPolicyFrom, getPolicyTo, getProActiveSecurityManager, getPublicKey, getRemoteAdapter, getVNName, initiateSession, negociateKeyReceiverSide, publicKeyExchange, randomValue, receiveReply, receiveRequest, secretKeyExchange, setImmediateService, startNewSession, terminateSession, updateLocation
 
Methods inherited from interface org.objectweb.proactive.core.body.message.MessageEventProducer
addMessageEventListener, removeMessageEventListener
 
Methods inherited from interface org.objectweb.proactive.Job
getJobID
 

Method Detail

terminate

public void terminate()
Terminate the body. After this call the body is no more alive and no more active although the active thread is not interrupted. The body is unuseable after this call.


isAlive

public boolean isAlive()
Returns whether the body is alive or not. The body is alive as long as it is processing request and reply

Returns:
whether the body is alive or not.

isActive

public boolean isActive()
Returns whether the body is active or not. The body is active as long as it has an associated thread running to serve the requests by calling methods on the active object.

Returns:
whether the body is active or not.

blockCommunication

public void blockCommunication()
blocks all incoming communications. After this call, the body cannot receive any request or reply.


acceptCommunication

public void acceptCommunication()
Signals the body to accept all incoming communications. This call undo a previous call to blockCommunication.


enterInThreadStore

public void enterInThreadStore()
Allows the calling thread to enter in the ThreadStore of this body.


exitFromThreadStore

public void exitFromThreadStore()
Allows the calling thread to exit from the ThreadStore of this body.


checkNewLocation

public UniversalBody checkNewLocation(UniqueID uniqueID)
Tries to find a local version of the body of id uniqueID. If a local version is found it is returned. If not, tries to find the body of id uniqueID in the known body of this body. If a body is found it is returned, else null is returned.

Parameters:
uniqueID - the id of the body to lookup
Returns:
the last known version of the body of id uniqueID or null if not known


Copyright © April 2004 INRIA All Rights Reserved.