Class RpcRegistry
java.lang.Object
org.apache.pekko.actor.AbstractActor
org.apache.pekko.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 final classstatic final classstatic final classstatic final classNested classes/interfaces inherited from class org.apache.pekko.actor.AbstractActor
AbstractActor.ActorContext, AbstractActor.ReceiveNested classes/interfaces inherited from interface org.apache.pekko.actor.Actor
Actor.emptyBehavior$, Actor.ignoringBehavior$Nested classes/interfaces inherited from interface org.apache.pekko.persistence.Eventsourced
Eventsourced.AsyncHandlerInvocation, Eventsourced.AsyncHandlerInvocation$, Eventsourced.PendingHandlerInvocation, Eventsourced.RecoveryTick, Eventsourced.RecoveryTick$, Eventsourced.StashingHandlerInvocation, Eventsourced.StashingHandlerInvocation$ -
Constructor Summary
ConstructorsConstructorDescriptionRpcRegistry(RemoteOpsProviderConfig config, Path directory, ActorRef rpcInvoker, ActorRef rpcRegistrar) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidhandleCommand(Object message) protected Loggerlog()protected voidonBucketRemoved(Address address, Bucket<RoutingTable> bucket) Callback to subclasses invoked when a bucket is removed.protected voidonBucketsUpdated(Map<Address, Bucket<RoutingTable>> buckets) Callback to subclasses invoked when the set of remote buckets is updated.voidpostStop()voidpreStart()static Propsprops(RemoteOpsProviderConfig config, Path directory, 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, getSender, getVersions, handleRecover, saveSnapshot, updateLocalBucketMethods inherited from class org.opendaylight.controller.cluster.common.actor.AbstractUntypedPersistentActor
createReceive, createReceiveRecover, executeInSelf, getContext, ignoreMessage, persistenceId, unknownMessageMethods inherited from class org.apache.pekko.persistence.AbstractPersistentActor
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, org$apache$pekko$actor$StashSupport$_setter_$mailbox_$eq, org$apache$pekko$actor$StashSupport$_setter_$org$apache$pekko$actor$StashSupport$$capacity_$eq, org$apache$pekko$actor$StashSupport$$capacity, org$apache$pekko$actor$StashSupport$$theStash, org$apache$pekko$actor$StashSupport$$theStash_$eq, org$apache$pekko$persistence$Eventsourced$_setter_$org$apache$pekko$persistence$Eventsourced$$extension_$eq, org$apache$pekko$persistence$Eventsourced$_setter_$org$apache$pekko$persistence$Eventsourced$$instanceId_$eq, org$apache$pekko$persistence$Eventsourced$_setter_$org$apache$pekko$persistence$Eventsourced$$internalStash_$eq, org$apache$pekko$persistence$Eventsourced$_setter_$org$apache$pekko$persistence$Eventsourced$$maxMessageBatchSize_$eq, org$apache$pekko$persistence$Eventsourced$_setter_$org$apache$pekko$persistence$Eventsourced$$pendingInvocations_$eq, org$apache$pekko$persistence$Eventsourced$_setter_$org$apache$pekko$persistence$Eventsourced$$persistingEvents_$eq, org$apache$pekko$persistence$Eventsourced$_setter_$org$apache$pekko$persistence$Eventsourced$$processingCommands_$eq, org$apache$pekko$persistence$Eventsourced$_setter_$org$apache$pekko$persistence$Eventsourced$$unstashFilterPredicate_$eq, org$apache$pekko$persistence$Eventsourced$_setter_$org$apache$pekko$persistence$Eventsourced$$writerUuid_$eq, org$apache$pekko$persistence$Eventsourced$$_lastSequenceNr, org$apache$pekko$persistence$Eventsourced$$_lastSequenceNr_$eq, org$apache$pekko$persistence$Eventsourced$$currentState, org$apache$pekko$persistence$Eventsourced$$currentState_$eq, org$apache$pekko$persistence$Eventsourced$$eventBatch, org$apache$pekko$persistence$Eventsourced$$eventBatch_$eq, org$apache$pekko$persistence$Eventsourced$$extension, org$apache$pekko$persistence$Eventsourced$$instanceId, org$apache$pekko$persistence$Eventsourced$$internalStash, org$apache$pekko$persistence$Eventsourced$$journalBatch, org$apache$pekko$persistence$Eventsourced$$journalBatch_$eq, org$apache$pekko$persistence$Eventsourced$$maxMessageBatchSize, org$apache$pekko$persistence$Eventsourced$$pendingInvocations, org$apache$pekko$persistence$Eventsourced$$pendingStashingPersistInvocations, org$apache$pekko$persistence$Eventsourced$$pendingStashingPersistInvocations_$eq, org$apache$pekko$persistence$Eventsourced$$persistingEvents, org$apache$pekko$persistence$Eventsourced$$processingCommands, org$apache$pekko$persistence$Eventsourced$$sequenceNr, org$apache$pekko$persistence$Eventsourced$$sequenceNr_$eq, org$apache$pekko$persistence$Eventsourced$$unstashFilterPredicate, org$apache$pekko$persistence$Eventsourced$$writeInProgress, org$apache$pekko$persistence$Eventsourced$$writeInProgress_$eq, org$apache$pekko$persistence$Eventsourced$$writerUuid, persist, persistAll, persistAllAsync, persistAsync, prepend, preRestart, receiveCommand, receiveRecover, recovery, recoveryFinished, recoveryRunning, snapshotPluginId, snapshotSequenceNr, snapshotStore, snapshotterId, stash, unhandled, unstash, unstashAll, unstashAllMethods inherited from class org.apache.pekko.actor.AbstractActor
context, emptyBehavior, getSelf, org$apache$pekko$actor$Actor$_setter_$context_$eq, org$apache$pekko$actor$Actor$_setter_$self_$eq, postRestart, preRestart, receive, receiveBuilder, self, sender, supervisorStrategyMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.pekko.actor.Actor
context, org$apache$pekko$actor$Actor$_setter_$context_$eq, org$apache$pekko$actor$Actor$_setter_$self_$eq, postRestart, receive, self, sender, supervisorStrategyMethods inherited from interface org.apache.pekko.persistence.Eventsourced
org$apache$pekko$persistence$Eventsourced$$changeState, org$apache$pekko$persistence$Eventsourced$$flushBatch, org$apache$pekko$persistence$Eventsourced$$flushJournalBatch, org$apache$pekko$persistence$Eventsourced$$log, org$apache$pekko$persistence$Eventsourced$$peekApplyHandler, org$apache$pekko$persistence$Eventsourced$$recovering, org$apache$pekko$persistence$Eventsourced$$setLastSequenceNr, org$apache$pekko$persistence$Eventsourced$$startRecovery, org$apache$pekko$persistence$Eventsourced$$stashInternally, org$apache$pekko$persistence$Eventsourced$$unstashInternally, org$apache$pekko$persistence$Eventsourced$$updateLastSequenceNr, org$apache$pekko$persistence$Eventsourced$$writeEventFailed, org$apache$pekko$persistence$Eventsourced$$writeEventRejected, org$apache$pekko$persistence$Eventsourced$$writeEventSucceededMethods inherited from interface org.apache.pekko.actor.StashSupport
context, self
-
Constructor Details
-
RpcRegistry
public RpcRegistry(RemoteOpsProviderConfig config, Path directory, ActorRef rpcInvoker, ActorRef rpcRegistrar)
-
-
Method Details
-
props
public static Props props(RemoteOpsProviderConfig config, Path directory, ActorRef rpcInvoker, ActorRef rpcRegistrar) Create a new props instance for instantiating an RpcRegistry actor.- Parameters:
config- Provider configurationdirectory- Persistence directoryrpcInvoker- Actor handling RPC invocation requests from remote nodesrpcRegistrar- Local RPC provider interface, used to register routers to remote nodes- Returns:
- A new
Propsinstance
-
log
- Specified by:
login classBucketStoreActor<RoutingTable>
-
preStart
- Specified by:
preStartin interfaceActor- Overrides:
preStartin classBucketStoreActor<RoutingTable>- Throws:
IOException
-
postStop
- Specified by:
postStopin interfaceActor- Specified by:
postStopin interfaceUnrestrictedStash- Overrides:
postStopin classAbstractPersistentActor- Throws:
Exception
-
handleCommand
- Overrides:
handleCommandin classBucketStoreActor<RoutingTable>- Throws:
Exception
-
onBucketRemoved
Description copied from class:BucketStoreActorCallback to subclasses invoked when a bucket is removed.- Specified by:
onBucketRemovedin classBucketStoreActor<RoutingTable>- Parameters:
address- Remote addressbucket- Bucket removed
-
onBucketsUpdated
Description copied from class:BucketStoreActorCallback to subclasses invoked when the set of remote buckets is updated.- Specified by:
onBucketsUpdatedin classBucketStoreActor<RoutingTable>- Parameters:
buckets- Map of address to new bucket. Never null, but can be empty.
-