|
Akka/Scala example source code file (FailureDetectorPuppet.scala)
The FailureDetectorPuppet.scala Akka example source code/** * Copyright (C) 2009-2014 Typesafe Inc. <http://www.typesafe.com> */ package akka.cluster import java.util.concurrent.atomic.AtomicReference import akka.remote.testkit.MultiNodeConfig import akka.remote.FailureDetector import com.typesafe.config.Config import akka.event.EventStream /** * User controllable "puppet" failure detector. */ class FailureDetectorPuppet(config: Config, ev: EventStream) extends FailureDetector { trait Status object Up extends Status object Down extends Status object Unknown extends Status private val status: AtomicReference[Status] = new AtomicReference(Unknown) def markNodeAsUnavailable(): Unit = status.set(Down) def markNodeAsAvailable(): Unit = status.set(Up) override def isAvailable: Boolean = status.get match { case Unknown | Up ⇒ true case Down ⇒ false } override def isMonitoring: Boolean = status.get != Unknown override def heartbeat(): Unit = status.compareAndSet(Unknown, Up) } Other Akka source code examplesHere is a short list of links related to this Akka FailureDetectorPuppet.scala source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.