akka.remote.testconductor
Class ClientFSM

java.lang.Object
  extended by akka.remote.testconductor.ClientFSM
All Implemented Interfaces:
Actor, ActorLogging, FSM<ClientFSM.State,ClientFSM.Data>, LoggingFSM<ClientFSM.State,ClientFSM.Data>, RequiresMessageQueue<UnboundedMessageQueueSemantics>, Listeners

public class ClientFSM
extends java.lang.Object
implements Actor, LoggingFSM<ClientFSM.State,ClientFSM.Data>, RequiresMessageQueue<UnboundedMessageQueueSemantics>

This is the controlling entity on the Player side: in a first step it registers itself with a symbolic name and its remote address at the Controller, then waits for the Done message which signals that all other expected test participants have done the same. After that, it will pass barrier requests to and from the coordinator and react to the Conductor&rsquo;s requests for failure injection.

Note that you can't perform requests concurrently, e.g. enter barrier from one thread and ask for node address from another thread.

INTERNAL API.


Nested Class Summary
static class ClientFSM.AwaitDone$
           
static class ClientFSM.Connected
           
static class ClientFSM.Connected$
           
static class ClientFSM.Connecting$
           
static class ClientFSM.ConnectionFailure
           
static class ClientFSM.ConnectionFailure$
           
static class ClientFSM.Data
           
static class ClientFSM.Data$
           
static class ClientFSM.Disconnected$
           
static class ClientFSM.Failed$
           
static interface ClientFSM.State
           
 
Nested classes/interfaces inherited from interface akka.actor.FSM
FSM.$minus$greater$, FSM.CurrentState<S>, FSM.CurrentState$, FSM.Event<D>, FSM.Event$, FSM.Failure, FSM.Failure$, FSM.LogEntry<S,D>, FSM.LogEntry$, FSM.Normal$, FSM.NullFunction$, FSM.Reason, FSM.Shutdown$, FSM.State$, FSM.StateTimeout$, FSM.StopEvent<S,D>, FSM.StopEvent$, FSM.SubscribeTransitionCallBack, FSM.SubscribeTransitionCallBack$, FSM.TimeoutMarker, FSM.TimeoutMarker$, FSM.Timer, FSM.Timer$, FSM.TransformHelper, FSM.Transition<S>, FSM.Transition$, FSM.UnsubscribeTransitionCallBack, FSM.UnsubscribeTransitionCallBack$
 
Nested classes/interfaces inherited from interface akka.actor.Actor
Actor.emptyBehavior$
 
Constructor Summary
ClientFSM(RoleName name, java.net.InetSocketAddress controllerAddr)
           
 
Method Summary
 PlayerHandler handler()
           
 akka.remote.testconductor.TestConductorExt.Settings$ settings()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface akka.actor.LoggingFSM
advance, debugEvent, events, full, getLog, logDepth, pos, processEvent, states
 
Methods inherited from interface akka.actor.FSM
applyState, cancelTimer, currentState, Event, generation, handleEvent, handleEventDefault, handleTransition, initialize, isStateTimerActive, isTimerActive, logTermination, makeTransition, nextState, nextStateData, onTermination, onTransition, processMsg, register, setStateTimeout, setTimer, startWith, stateData, stateFunctions, stateName, StateTimeout, stateTimeouts, stay, stop, stop, stop, StopEvent, terminate, terminateEvent, timeoutFuture, timerGen, timers, total2pf, transform, transitionEvent, when, whenUnhandled
 
Methods inherited from interface akka.actor.Actor
aroundPostRestart, aroundPostStop, aroundPreRestart, aroundPreStart, aroundReceive, context, postRestart, preRestart, preStart, self, sender, supervisorStrategy, unhandled
 
Methods inherited from interface akka.routing.Listeners
gossip, listenerManagement, listeners
 
Methods inherited from interface akka.actor.ActorLogging
_log, log
 

Constructor Detail

ClientFSM

public ClientFSM(RoleName name,
                 java.net.InetSocketAddress controllerAddr)
Method Detail

settings

public akka.remote.testconductor.TestConductorExt.Settings$ settings()

handler

public PlayerHandler handler()