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:
org.apache.pekko.actor.Actor
,org.apache.pekko.actor.Stash
,org.apache.pekko.actor.StashFactory
,org.apache.pekko.actor.StashSupport
,org.apache.pekko.actor.UnrestrictedStash
,org.apache.pekko.dispatch.RequiresMessageQueue<org.apache.pekko.dispatch.DequeBasedMessageQueueSemantics>
,org.apache.pekko.persistence.AbstractPersistentActorLike
,org.apache.pekko.persistence.Eventsourced
,org.apache.pekko.persistence.PersistenceIdentity
,org.apache.pekko.persistence.PersistenceRecovery
,org.apache.pekko.persistence.PersistenceStash
,org.apache.pekko.persistence.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 class
static final class
static final class
static final class
Nested classes/interfaces inherited from class org.apache.pekko.actor.AbstractActor
org.apache.pekko.actor.AbstractActor.ActorContext, org.apache.pekko.actor.AbstractActor.Receive
Nested classes/interfaces inherited from interface org.apache.pekko.actor.Actor
org.apache.pekko.actor.Actor.emptyBehavior$, org.apache.pekko.actor.Actor.ignoringBehavior$
Nested classes/interfaces inherited from interface org.apache.pekko.persistence.Eventsourced
org.apache.pekko.persistence.Eventsourced.AsyncHandlerInvocation, org.apache.pekko.persistence.Eventsourced.AsyncHandlerInvocation$, org.apache.pekko.persistence.Eventsourced.PendingHandlerInvocation, org.apache.pekko.persistence.Eventsourced.RecoveryTick, org.apache.pekko.persistence.Eventsourced.RecoveryTick$, org.apache.pekko.persistence.Eventsourced.StashingHandlerInvocation, org.apache.pekko.persistence.Eventsourced.StashingHandlerInvocation$
-
Constructor Summary
ConstructorsConstructorDescriptionRpcRegistry
(RemoteOpsProviderConfig config, Path directory, org.apache.pekko.actor.ActorRef rpcInvoker, org.apache.pekko.actor.ActorRef rpcRegistrar) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
handleCommand
(Object message) protected Logger
log()
protected void
onBucketRemoved
(org.apache.pekko.actor.Address address, Bucket<RoutingTable> bucket) Callback to subclasses invoked when a bucket is removed.protected void
onBucketsUpdated
(Map<org.apache.pekko.actor.Address, Bucket<RoutingTable>> buckets) Callback to subclasses invoked when the set of remote buckets is updated.void
postStop()
void
preStart()
static org.apache.pekko.actor.Props
props
(RemoteOpsProviderConfig config, Path directory, org.apache.pekko.actor.ActorRef rpcInvoker, org.apache.pekko.actor.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, updateLocalBucket
Methods inherited from class org.opendaylight.controller.cluster.common.actor.AbstractUntypedPersistentActor
createReceive, createReceiveRecover, executeInSelf, getContext, ignoreMessage, persistenceId, unknownMessage
Methods 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, unstashAll
Methods 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, supervisorStrategy
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods 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, supervisorStrategy
Methods 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$$writeEventSucceeded
Methods inherited from interface org.apache.pekko.actor.StashSupport
context, self
-
Constructor Details
-
RpcRegistry
public RpcRegistry(RemoteOpsProviderConfig config, Path directory, org.apache.pekko.actor.ActorRef rpcInvoker, org.apache.pekko.actor.ActorRef rpcRegistrar)
-
-
Method Details
-
props
public static org.apache.pekko.actor.Props props(RemoteOpsProviderConfig config, Path directory, org.apache.pekko.actor.ActorRef rpcInvoker, org.apache.pekko.actor.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
Props
instance
-
log
- Specified by:
log
in classBucketStoreActor<RoutingTable>
-
preStart
- Specified by:
preStart
in interfaceorg.apache.pekko.actor.Actor
- Overrides:
preStart
in classBucketStoreActor<RoutingTable>
- Throws:
IOException
-
postStop
- Specified by:
postStop
in interfaceorg.apache.pekko.actor.Actor
- Specified by:
postStop
in interfaceorg.apache.pekko.actor.UnrestrictedStash
- Overrides:
postStop
in classorg.apache.pekko.persistence.AbstractPersistentActor
- 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.
-