org.objectweb.dream.protocol.utobcast
Class LeaderFaultForwarderImpl

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

public class LeaderFaultForwarderImpl
extends AbstractComponent
implements ProcessMembershipUpdateNotification

Implementation of the LeaderFaultForwarder component. This component is notified by the ProcessMembership component that the leader has crashed. Its role is to unblock push calls that are waiting in the PushWithReturn component by sending a "AllKey" message.


Field Summary
protected  MessageManager messageManagerItf
          The interface to manage message lifecycle.
protected  Push outPushItf
          The interface to send "AllKey" messages.
 
Fields inherited from class org.objectweb.dream.AbstractComponent
bindingLogger, componentDesc, fcState, firstStart, lifeCycleLogger, logger, weaveableC
 
Fields inherited from interface org.objectweb.dream.protocol.utobcast.ProcessMembershipUpdateNotification
ITF_NAME
 
Fields inherited from interface org.objectweb.fractal.api.control.LifeCycleController
STARTED, STOPPED
 
Constructor Summary
LeaderFaultForwarderImpl()
          Constructor.
 
Method Summary
 void bindFc(String clientItfName, Object serverItf)
           
 String[] listFc()
           
 void newBackup(Process backup)
          Notifies the component that a new backup has been elected.
 void newLeader(Process leader)
          Notifies the component that a new leader has been elected.
 void newProcesses(Process[] processes)
          Notifies the component that new processes have joined.
 
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

outPushItf

protected Push outPushItf
The interface to send "AllKey" messages.


messageManagerItf

protected MessageManager messageManagerItf
The interface to manage message lifecycle.

Constructor Detail

LeaderFaultForwarderImpl

public LeaderFaultForwarderImpl()
Constructor.

Method Detail

newBackup

public void newBackup(Process backup)
Description copied from interface: ProcessMembershipUpdateNotification
Notifies the component that a new backup has been elected.

Specified by:
newBackup in interface ProcessMembershipUpdateNotification
Parameters:
backup - the new backup.
See Also:
ProcessMembershipUpdateNotification.newBackup(org.objectweb.dream.protocol.Process)

newLeader

public void newLeader(Process leader)
Description copied from interface: ProcessMembershipUpdateNotification
Notifies the component that a new leader has been elected.

Specified by:
newLeader in interface ProcessMembershipUpdateNotification
Parameters:
leader - the new leader.
See Also:
ProcessMembershipUpdateNotification.newLeader(org.objectweb.dream.protocol.Process)

newProcesses

public void newProcesses(Process[] processes)
Description copied from interface: ProcessMembershipUpdateNotification
Notifies the component that new processes have joined.

Specified by:
newProcesses in interface ProcessMembershipUpdateNotification
Parameters:
processes - the new processes.
See Also:
ProcessMembershipUpdateNotification.newProcesses(org.objectweb.dream.protocol.Process[])

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.