All Implemented Interfaces:
org.apache.pekko.actor.Actor, ExecuteInSelfActor

public class Gossiper extends AbstractUntypedActorWithMetering
Gossiper that syncs bucket store across nodes in the cluster.

It keeps a local scheduler that periodically sends Gossip ticks to itself to send bucket store's bucket versions to a randomly selected remote gossiper.

When bucket versions are received from a remote gossiper, it is compared with bucket store's bucket versions. Which ever buckets are newer locally, are sent to remote gossiper. If any bucket is older in bucket store, a gossip status is sent to remote gossiper so that it can send the newer buckets.

When a bucket is received from a remote gossiper, its sent to the bucket store for update.

  • Nested Class Summary

    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$
  • Field Summary

    Fields inherited from class org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor

    LOG
  • Method Summary

    Modifier and Type
    Method
    Description
    org.apache.pekko.actor.ActorRef
    Deprecated, for removal: This API element is subject to removal in a future version.
    protected void
    Receive and handle an incoming message.
    void
     
    void
     
    static org.apache.pekko.actor.Props
     

    Methods inherited from class org.opendaylight.controller.cluster.common.actor.AbstractUntypedActorWithMetering

    getActorNameOverride

    Methods inherited from class org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor

    createReceive, executeInSelf, getContext, ignoreMessage, isValidSender, unknownMessage

    Methods inherited from class org.apache.pekko.actor.AbstractActor

    aroundPostRestart, aroundPostStop, aroundPreRestart, aroundPreStart, aroundReceive, context, emptyBehavior, getSelf, org$apache$pekko$actor$Actor$_setter_$context_$eq, org$apache$pekko$actor$Actor$_setter_$self_$eq, postRestart, preRestart, preRestart, receive, receiveBuilder, self, sender, supervisorStrategy, unhandled

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • props

      public static org.apache.pekko.actor.Props props(RemoteOpsProviderConfig config)
    • getSender

      @Deprecated(since="11.0.0", forRemoval=true) public org.apache.pekko.actor.ActorRef getSender()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Overrides:
      getSender in class org.apache.pekko.actor.AbstractActor
    • preStart

      public void preStart()
      Specified by:
      preStart in interface org.apache.pekko.actor.Actor
      Overrides:
      preStart in class org.apache.pekko.actor.AbstractActor
    • postStop

      public void postStop()
      Specified by:
      postStop in interface org.apache.pekko.actor.Actor
      Overrides:
      postStop in class org.apache.pekko.actor.AbstractActor
    • handleReceive

      protected void handleReceive(Object message)
      Description copied from class: AbstractUntypedActor
      Receive and handle an incoming message. If the implementation does not handle this particular message, it should call AbstractUntypedActor.ignoreMessage(Object) or AbstractUntypedActor.unknownMessage(Object).
      Specified by:
      handleReceive in class AbstractUntypedActor
      Parameters:
      message - the incoming message