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

public class RpcRegistry extends BucketStoreActor<RoutingTable>
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 Classes
    Modifier and Type
    Class
    Description
    static 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

    Constructors
    Constructor
    Description
    RpcRegistry(RemoteOpsProviderConfig config, Path directory, org.apache.pekko.actor.ActorRef rpcInvoker, org.apache.pekko.actor.ActorRef rpcRegistrar)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
     
    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
     
    void
     
    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 configuration
      directory - Persistence directory
      rpcInvoker - Actor handling RPC invocation requests from remote nodes
      rpcRegistrar - Local RPC provider interface, used to register routers to remote nodes
      Returns:
      A new Props instance
    • log

      protected Logger log()
      Specified by:
      log in class BucketStoreActor<RoutingTable>
    • preStart

      public void preStart() throws IOException
      Specified by:
      preStart in interface org.apache.pekko.actor.Actor
      Overrides:
      preStart in class BucketStoreActor<RoutingTable>
      Throws:
      IOException
    • postStop

      public void postStop() throws Exception
      Specified by:
      postStop in interface org.apache.pekko.actor.Actor
      Specified by:
      postStop in interface org.apache.pekko.actor.UnrestrictedStash
      Overrides:
      postStop in class org.apache.pekko.persistence.AbstractPersistentActor
      Throws:
      Exception
    • handleCommand

      protected void handleCommand(Object message) throws Exception
      Overrides:
      handleCommand in class BucketStoreActor<RoutingTable>
      Throws:
      Exception
    • onBucketRemoved

      protected void onBucketRemoved(org.apache.pekko.actor.Address address, Bucket<RoutingTable> bucket)
      Description copied from class: BucketStoreActor
      Callback to subclasses invoked when a bucket is removed.
      Specified by:
      onBucketRemoved in class BucketStoreActor<RoutingTable>
      Parameters:
      address - Remote address
      bucket - Bucket removed
    • onBucketsUpdated

      protected void onBucketsUpdated(Map<org.apache.pekko.actor.Address,Bucket<RoutingTable>> buckets)
      Description copied from class: BucketStoreActor
      Callback to subclasses invoked when the set of remote buckets is updated.
      Specified by:
      onBucketsUpdated in class BucketStoreActor<RoutingTable>
      Parameters:
      buckets - Map of address to new bucket. Never null, but can be empty.