Class RpcRegistry
java.lang.Object
akka.actor.AbstractActor
akka.persistence.AbstractPersistentActor
org.opendaylight.controller.cluster.common.actor.AbstractUntypedPersistentActor
org.opendaylight.controller.cluster.common.actor.AbstractUntypedPersistentActorWithMetering
org.opendaylight.controller.remote.rpc.registry.gossip.BucketStoreActor<RoutingTable>
org.opendaylight.controller.remote.rpc.registry.RpcRegistry
- All Implemented Interfaces:
Actor
,Stash
,StashFactory
,StashSupport
,UnrestrictedStash
,RequiresMessageQueue<DequeBasedMessageQueueSemantics>
,AbstractPersistentActorLike
,Eventsourced
,PersistenceIdentity
,PersistenceRecovery
,PersistenceStash
,Snapshotter
,ExecuteInSelfActor
Registry to look up cluster nodes that have registered for a given RPC.
It uses BucketStoreActor
to maintain this
cluster wide information.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
All messages used by the RpcRegistry.static final class
Nested classes/interfaces inherited from class akka.actor.AbstractActor
AbstractActor.ActorContext, AbstractActor.Receive
Nested classes/interfaces inherited from interface akka.actor.Actor
Actor.emptyBehavior$, Actor.ignoringBehavior$
Nested classes/interfaces inherited from interface akka.persistence.Eventsourced
Eventsourced.AsyncHandlerInvocation, Eventsourced.AsyncHandlerInvocation$, Eventsourced.PendingHandlerInvocation, Eventsourced.RecoveryTick, Eventsourced.RecoveryTick$, Eventsourced.StashingHandlerInvocation, Eventsourced.StashingHandlerInvocation$
-
Field Summary
Fields inherited from class org.opendaylight.controller.cluster.common.actor.AbstractUntypedPersistentActor
LOG
-
Constructor Summary
ConstructorsConstructorDescriptionRpcRegistry
(RemoteOpsProviderConfig config, ActorRef rpcInvoker, ActorRef rpcRegistrar) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
handleCommand
(Object message) protected void
onBucketRemoved
(Address address, Bucket<RoutingTable> bucket) Callback to subclasses invoked when a bucket is removed.protected void
onBucketsUpdated
(Map<Address, Bucket<RoutingTable>> buckets) Callback to subclasses invoked when the set of remote buckets is updated.void
postStop()
void
preStart()
static Props
props
(RemoteOpsProviderConfig config, ActorRef rpcInvoker, ActorRef rpcRegistrar) Create a new props instance for instantiating an RpcRegistry actor.Methods inherited from class org.opendaylight.controller.remote.rpc.registry.gossip.BucketStoreActor
getConfig, getLocalData, getRemoteBuckets, getVersions, handleRecover, isPersisting, persistenceId, updateLocalBucket
Methods inherited from class org.opendaylight.controller.cluster.common.actor.AbstractUntypedPersistentActor
createReceive, createReceiveRecover, executeInSelf, ignoreMessage, unknownMessage
Methods inherited from class akka.persistence.AbstractPersistentActor
akka$actor$StashSupport$_setter_$akka$actor$StashSupport$$capacity_$eq, akka$actor$StashSupport$_setter_$mailbox_$eq, akka$actor$StashSupport$$capacity, akka$actor$StashSupport$$theStash, akka$actor$StashSupport$$theStash_$eq, akka$persistence$Eventsourced$_setter_$akka$persistence$Eventsourced$$extension_$eq, akka$persistence$Eventsourced$_setter_$akka$persistence$Eventsourced$$instanceId_$eq, akka$persistence$Eventsourced$_setter_$akka$persistence$Eventsourced$$internalStash_$eq, akka$persistence$Eventsourced$_setter_$akka$persistence$Eventsourced$$maxMessageBatchSize_$eq, akka$persistence$Eventsourced$_setter_$akka$persistence$Eventsourced$$pendingInvocations_$eq, akka$persistence$Eventsourced$_setter_$akka$persistence$Eventsourced$$persistingEvents_$eq, akka$persistence$Eventsourced$_setter_$akka$persistence$Eventsourced$$processingCommands_$eq, akka$persistence$Eventsourced$_setter_$akka$persistence$Eventsourced$$unstashFilterPredicate_$eq, akka$persistence$Eventsourced$_setter_$akka$persistence$Eventsourced$$writerUuid_$eq, akka$persistence$Eventsourced$$_lastSequenceNr, akka$persistence$Eventsourced$$_lastSequenceNr_$eq, akka$persistence$Eventsourced$$currentState, akka$persistence$Eventsourced$$currentState_$eq, akka$persistence$Eventsourced$$eventBatch, akka$persistence$Eventsourced$$eventBatch_$eq, akka$persistence$Eventsourced$$extension, akka$persistence$Eventsourced$$instanceId, akka$persistence$Eventsourced$$internalStash, akka$persistence$Eventsourced$$journalBatch, akka$persistence$Eventsourced$$journalBatch_$eq, akka$persistence$Eventsourced$$maxMessageBatchSize, akka$persistence$Eventsourced$$pendingInvocations, akka$persistence$Eventsourced$$pendingStashingPersistInvocations, akka$persistence$Eventsourced$$pendingStashingPersistInvocations_$eq, akka$persistence$Eventsourced$$persistingEvents, akka$persistence$Eventsourced$$processingCommands, akka$persistence$Eventsourced$$sequenceNr, akka$persistence$Eventsourced$$sequenceNr_$eq, akka$persistence$Eventsourced$$unstashFilterPredicate, akka$persistence$Eventsourced$$writeInProgress, akka$persistence$Eventsourced$$writeInProgress_$eq, akka$persistence$Eventsourced$$writerUuid, aroundPostRestart, aroundPostStop, aroundPreRestart, aroundPreStart, aroundReceive, clearStash, createStash, defer, deferAsync, deleteMessages, deleteSnapshot, deleteSnapshots, internalDefer, internalDeferAsync, internalDeleteMessagesBeforeSnapshot, internalPersist, internalPersistAll, internalPersistAllAsync, internalPersistAsync, internalStashOverflowStrategy, journal, journalPluginId, lastSequenceNr, loadSnapshot, mailbox, onPersistFailure, onPersistRejected, onRecoveryFailure, onReplaySuccess, persist, persistAll, persistAllAsync, persistAsync, prepend, preRestart, receiveCommand, receiveRecover, recovery, recoveryFinished, recoveryRunning, saveSnapshot, snapshotPluginId, snapshotSequenceNr, snapshotStore, snapshotterId, stash, unhandled, unstash, unstashAll, unstashAll
Methods inherited from class akka.actor.AbstractActor
akka$actor$Actor$_setter_$context_$eq, akka$actor$Actor$_setter_$self_$eq, context, emptyBehavior, getContext, getSelf, getSender, postRestart, preRestart, receive, receiveBuilder, self, sender, supervisorStrategy
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface akka.actor.Actor
akka$actor$Actor$_setter_$context_$eq, akka$actor$Actor$_setter_$self_$eq, context, postRestart, receive, self, sender, supervisorStrategy
Methods inherited from interface akka.persistence.Eventsourced
akka$persistence$Eventsourced$$changeState, akka$persistence$Eventsourced$$flushBatch, akka$persistence$Eventsourced$$flushJournalBatch, akka$persistence$Eventsourced$$log, akka$persistence$Eventsourced$$peekApplyHandler, akka$persistence$Eventsourced$$recovering, akka$persistence$Eventsourced$$setLastSequenceNr, akka$persistence$Eventsourced$$startRecovery, akka$persistence$Eventsourced$$stashInternally, akka$persistence$Eventsourced$$unstashInternally, akka$persistence$Eventsourced$$updateLastSequenceNr, akka$persistence$Eventsourced$$writeEventFailed, akka$persistence$Eventsourced$$writeEventRejected, akka$persistence$Eventsourced$$writeEventSucceeded
Methods inherited from interface akka.actor.StashSupport
context, self
-
Constructor Details
-
RpcRegistry
-
-
Method Details
-
props
public static Props props(RemoteOpsProviderConfig config, ActorRef rpcInvoker, ActorRef rpcRegistrar) Create a new props instance for instantiating an RpcRegistry actor.- Parameters:
config
- Provider configurationrpcInvoker
- Actor handling RPC invocation requests from remote nodesrpcRegistrar
- Local RPC provider interface, used to register routers to remote nodes- Returns:
- A new
Props
instance
-
preStart
public void preStart()- Specified by:
preStart
in interfaceActor
- Overrides:
preStart
in classBucketStoreActor<RoutingTable>
-
postStop
- Specified by:
postStop
in interfaceActor
- Specified by:
postStop
in interfaceUnrestrictedStash
- Overrides:
postStop
in classAbstractPersistentActor
- Throws:
Exception
-
handleCommand
- Overrides:
handleCommand
in classBucketStoreActor<RoutingTable>
- Throws:
Exception
-
onBucketRemoved
Description copied from class:BucketStoreActor
Callback to subclasses invoked when a bucket is removed.- Specified by:
onBucketRemoved
in classBucketStoreActor<RoutingTable>
- Parameters:
address
- Remote addressbucket
- Bucket removed
-
onBucketsUpdated
Description copied from class:BucketStoreActor
Callback to subclasses invoked when the set of remote buckets is updated.- Specified by:
onBucketsUpdated
in classBucketStoreActor<RoutingTable>
- Parameters:
buckets
- Map of address to new bucket. Never null, but can be empty.
-