akka.remote.testconductor
Class ServerFSM

java.lang.Object
  extended by akka.remote.testconductor.ServerFSM
All Implemented Interfaces:
Actor, ActorLogging, FSM<ServerFSM.State,scala.Option<ActorRef>>, LoggingFSM<ServerFSM.State,scala.Option<ActorRef>>, Listeners

public class ServerFSM
extends java.lang.Object
implements Actor, LoggingFSM<ServerFSM.State,scala.Option<ActorRef>>

The server part of each client connection is represented by a ServerFSM. The Initial state handles reception of the new client&rsquo;s Hello message (which is needed for all subsequent node name translations).

In the Ready state, messages from the client are forwarded to the controller and akka.remote.testconductor.Send requests are sent, but the latter is treated specially: all client operations are to be confirmed by a Done message, and there can be only one such request outstanding at a given time (i.e. a Send fails if the previous has not yet been acknowledged).

INTERNAL API.


Nested Class Summary
static class ServerFSM.Initial$
           
static class ServerFSM.Ready$
           
static interface ServerFSM.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
ServerFSM(ActorRef controller, org.jboss.netty.channel.Channel channel)
           
 
Method Summary
 org.jboss.netty.channel.Channel channel()
           
 ActorRef controller()
           
 RoleName roleName()
           
 
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

ServerFSM

public ServerFSM(ActorRef controller,
                 org.jboss.netty.channel.Channel channel)
Method Detail

controller

public ActorRef controller()

channel

public org.jboss.netty.channel.Channel channel()

roleName

public RoleName roleName()