org.objectweb.dream.protocol.utobcast
Class REPImpl

java.lang.Object
  extended byorg.objectweb.dream.AbstractComponent
      extended byorg.objectweb.dream.protocol.utobcast.REPImpl
All Implemented Interfaces:
BindingController, LifeCycleController, Loggable, Push

public class REPImpl
extends AbstractComponent
implements Push

Implementation of the REP component. This component handles REP messages. Upon message reception, it stores the message into the PendingMessages queue. Then it sends UTO messages all the processes but pleader, and an ACK message to pleader. Note that in case this component detects a failure of pleader, it becomes leader, and trigger a backup election.


Field Summary
protected  BackupElection backupElectionItf
          The interface to elect a new backup.
protected  MessageManager messageManagerItf
          The interface to manage message lifecycle.
protected  Push outPushItf
          The interface to send UTO and ACK messages.
static String PENDING_MESSAGES_IN_ITF_NAME
          The commonly used name to refer to the pendingMessageInItf interface.
protected  Push pendingMessagesInItf
          The interface to store messages in the PendingMessage queue.
protected  ProcessMembership processMembershipItf
          The interface to retrieve process membership information.
 
Fields inherited from class org.objectweb.dream.AbstractComponent
bindingLogger, componentDesc, fcState, firstStart, lifeCycleLogger, logger, weaveableC
 
Fields inherited from interface org.objectweb.dream.Push
IN_PUSH_ITF_NAME, OUT_PUSH_ITF_NAME
 
Fields inherited from interface org.objectweb.fractal.api.control.LifeCycleController
STARTED, STOPPED
 
Constructor Summary
REPImpl()
          Constructor.
 
Method Summary
 void bindFc(String clientItfName, Object serverItf)
           
 String[] listFc()
           
 void push(Message message, Map context)
           
 
Methods inherited from class org.objectweb.dream.AbstractComponent
beforeFirstStart, getFcState, initComponent, lookupFc, setLogger, startFc, stopFc, unbindFc
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PENDING_MESSAGES_IN_ITF_NAME

public static final String PENDING_MESSAGES_IN_ITF_NAME
The commonly used name to refer to the pendingMessageInItf interface.

See Also:
Constant Field Values

pendingMessagesInItf

protected Push pendingMessagesInItf
The interface to store messages in the PendingMessage queue.


outPushItf

protected Push outPushItf
The interface to send UTO and ACK messages.


processMembershipItf

protected ProcessMembership processMembershipItf
The interface to retrieve process membership information.


backupElectionItf

protected BackupElection backupElectionItf
The interface to elect a new backup.


messageManagerItf

protected MessageManager messageManagerItf
The interface to manage message lifecycle.

Constructor Detail

REPImpl

public REPImpl()
Constructor.

Method Detail

push

public void push(Message message,
                 Map context)
          throws PushException
Specified by:
push in interface Push
Throws:
PushException
See Also:
Push.push(org.objectweb.dream.message.Message, java.util.Map)

bindFc

public void bindFc(String clientItfName,
                   Object serverItf)
            throws NoSuchInterfaceException,
                   IllegalBindingException,
                   IllegalLifeCycleException
Specified by:
bindFc in interface BindingController
Throws:
NoSuchInterfaceException
IllegalBindingException
IllegalLifeCycleException
See Also:
BindingController.bindFc(java.lang.String, java.lang.Object)

listFc

public String[] listFc()
Specified by:
listFc in interface BindingController
See Also:
BindingController.listFc()


Copyright © 2003, 2004 - INRIA Rhone-Alpes - All Rights Reserved.