Removed all @author tags for Jonas Bonér since it has lost its meaning.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
This commit is contained in:
parent
15c0462db3
commit
4d649c3903
48 changed files with 10 additions and 198 deletions
|
|
@ -6,8 +6,6 @@ import akka.testkit.AkkaSpec
|
|||
|
||||
/**
|
||||
* Tests the behavior of the executor based event driven dispatcher when multiple actors are being dispatched on it.
|
||||
*
|
||||
* @author Jan Van Besien
|
||||
*/
|
||||
@org.junit.runner.RunWith(classOf[org.scalatest.junit.JUnitRunner])
|
||||
class DispatcherActorsSpec extends AkkaSpec {
|
||||
|
|
|
|||
|
|
@ -14,8 +14,6 @@ import java.net.{ InetAddress, UnknownHostException }
|
|||
* <li>toString that includes exception name, message and uuid</li>
|
||||
* <li>toLongString which also includes the stack trace</li>
|
||||
* </ul>
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class AkkaException(message: String = "", cause: Throwable = null) extends RuntimeException(message, cause) with Serializable {
|
||||
val uuid = "%s_%s".format(AkkaException.hostname, newUuid)
|
||||
|
|
|
|||
|
|
@ -167,8 +167,6 @@ object Actor {
|
|||
*
|
||||
* <p/>
|
||||
* The Actor's own ActorRef is available in the 'self' member variable.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
trait Actor {
|
||||
|
||||
|
|
|
|||
|
|
@ -45,8 +45,6 @@ import scala.annotation.tailrec
|
|||
* </pre>
|
||||
*
|
||||
* The natural ordering of ActorRef is defined in terms of its [[akka.actor.ActorPath]].
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
abstract class ActorRef extends java.lang.Comparable[ActorRef] with Serializable {
|
||||
scalaRef: InternalActorRef ⇒
|
||||
|
|
@ -214,8 +212,6 @@ private[akka] case object Nobody extends MinimalActorRef {
|
|||
|
||||
/**
|
||||
* Local (serializable) ActorRef that is used when referencing the Actor on its "home" node.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class LocalActorRef private[akka] (
|
||||
system: ActorSystemImpl,
|
||||
|
|
|
|||
|
|
@ -30,8 +30,6 @@ trait ActorDeployer {
|
|||
|
||||
/**
|
||||
* Deployer maps actor paths to actor deployments.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class Deployer(val settings: ActorSystem.Settings, val eventStream: EventStream, val nodename: String) extends ActorDeployer {
|
||||
|
||||
|
|
@ -267,8 +265,6 @@ class Deployer(val settings: ActorSystem.Settings, val eventStream: EventStream,
|
|||
|
||||
/**
|
||||
* Simple local deployer, only for internal use.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class LocalDeployer extends ActorDeployer {
|
||||
private val deployments = new ConcurrentHashMap[String, Deploy]
|
||||
|
|
|
|||
|
|
@ -215,8 +215,6 @@ object DeploymentConfig {
|
|||
* Module holding the programmatic deployment configuration classes.
|
||||
* Defines the deployment specification.
|
||||
* Most values have defaults and can be left out.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class DeploymentConfig(val nodename: String) {
|
||||
|
||||
|
|
|
|||
|
|
@ -564,7 +564,6 @@ trait FSM[S, D] extends ListenerManagement {
|
|||
/**
|
||||
* Stackable trait for FSM which adds a rolling event log.
|
||||
*
|
||||
* @author Roland Kuhn
|
||||
* @since 1.2
|
||||
*/
|
||||
trait LoggingFSM[S, D] extends FSM[S, D] { this: Actor ⇒
|
||||
|
|
|
|||
|
|
@ -48,8 +48,6 @@ import akka.dispatch.{ MessageDispatcher, Promise }
|
|||
* }
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
abstract class UntypedActor extends Actor {
|
||||
|
||||
|
|
@ -123,7 +121,5 @@ abstract class UntypedActor extends Actor {
|
|||
|
||||
/**
|
||||
* Factory closure for an UntypedActor, to be used with 'Actors.actorOf(factory)'.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
trait UntypedActorFactory extends Creator[Actor]
|
||||
|
|
|
|||
|
|
@ -84,8 +84,6 @@ object ChangeListener {
|
|||
|
||||
/**
|
||||
* Node address holds the node name and the cluster name and can be used as a hash lookup key for a Node instance.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class NodeAddress(val clusterName: String, val nodeName: String) {
|
||||
if ((clusterName eq null) || clusterName == "") throw new NullPointerException("Cluster name must not be null or empty string")
|
||||
|
|
@ -183,8 +181,6 @@ trait NodeMetricsManager {
|
|||
|
||||
/**
|
||||
* Interface for cluster node.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
trait ClusterNode {
|
||||
import ChangeListener._
|
||||
|
|
|
|||
|
|
@ -17,9 +17,6 @@ import akka.event.EventStream
|
|||
import akka.actor.ActorSystem.Settings
|
||||
import com.typesafe.config.Config
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
final case class Envelope(val message: Any, val sender: ActorRef) {
|
||||
if (message.isInstanceOf[AnyRef] && (message.asInstanceOf[AnyRef] eq null)) throw new InvalidMessageException("Message is null")
|
||||
}
|
||||
|
|
@ -86,9 +83,6 @@ object MessageDispatcher {
|
|||
implicit def defaultDispatcher(implicit system: ActorSystem) = system.dispatcher
|
||||
}
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
abstract class MessageDispatcher(val prerequisites: DispatcherPrerequisites) extends AbstractMessageDispatcher with Serializable {
|
||||
|
||||
import MessageDispatcher._
|
||||
|
|
|
|||
|
|
@ -28,8 +28,6 @@ import akka.util.Duration
|
|||
*
|
||||
* @see akka.dispatch.BalancingDispatcher
|
||||
* @see akka.dispatch.Dispatchers
|
||||
*
|
||||
* @author Viktor Klang
|
||||
*/
|
||||
class BalancingDispatcher(
|
||||
_prerequisites: DispatcherPrerequisites,
|
||||
|
|
|
|||
|
|
@ -55,7 +55,6 @@ import java.util.concurrent._
|
|||
* But the preferred way of creating dispatchers is to use
|
||||
* the {@link akka.dispatch.Dispatchers} factory object.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
* @param throughput positive integer indicates the dispatcher will only process so much messages at a time from the
|
||||
* mailbox, without checking the mailboxes of other actors. Zero or negative means the dispatcher
|
||||
* always continues until the mailbox is empty.
|
||||
|
|
@ -153,4 +152,4 @@ abstract class PriorityGenerator extends java.util.Comparator[Envelope] {
|
|||
|
||||
final def compare(thisMessage: Envelope, thatMessage: Envelope): Int =
|
||||
gen(thisMessage.message) - gen(thatMessage.message)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -53,8 +53,6 @@ case class DefaultDispatcherPrerequisites(
|
|||
* .build();
|
||||
* </pre>
|
||||
* <p/>
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class Dispatchers(val settings: ActorSystem.Settings, val prerequisites: DispatcherPrerequisites) {
|
||||
|
||||
|
|
@ -199,7 +197,7 @@ class Dispatchers(val settings: ActorSystem.Settings, val prerequisites: Dispatc
|
|||
|
||||
/*
|
||||
* Creates of obtains a dispatcher from a ConfigMap according to the format below.
|
||||
* Uses default values from default-dispatcher.
|
||||
* Uses default values from default-dispatcher.
|
||||
*
|
||||
* my-dispatcher {
|
||||
* type = "Dispatcher" # Must be one of the following
|
||||
|
|
|
|||
|
|
@ -33,9 +33,6 @@ object Mailbox {
|
|||
final val debug = false
|
||||
}
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
abstract class Mailbox(val actor: ActorCell) extends MessageQueue with SystemMessageQueue with Runnable {
|
||||
import Mailbox._
|
||||
|
||||
|
|
|
|||
|
|
@ -14,8 +14,6 @@ import java.util.concurrent.TimeUnit
|
|||
|
||||
/**
|
||||
* Dedicates a unique thread for each actor passed in as reference. Served through its messageQueue.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class PinnedDispatcher(
|
||||
_prerequisites: DispatcherPrerequisites,
|
||||
|
|
|
|||
|
|
@ -144,9 +144,6 @@ case class ThreadPoolConfigDispatcherBuilder(dispatcherFactory: (ThreadPoolConfi
|
|||
def configure(fs: Option[Function[ThreadPoolConfigDispatcherBuilder, ThreadPoolConfigDispatcherBuilder]]*): ThreadPoolConfigDispatcherBuilder = fs.foldLeft(this)((c, f) ⇒ f.map(_(c)).getOrElse(c))
|
||||
}
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class MonitorableThreadFactory(val name: String, val daemonic: Boolean = false) extends ThreadFactory {
|
||||
protected val counter = new AtomicLong
|
||||
|
||||
|
|
@ -157,9 +154,6 @@ class MonitorableThreadFactory(val name: String, val daemonic: Boolean = false)
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
object MonitorableThread {
|
||||
val DEFAULT_NAME = "MonitorableThread".intern
|
||||
|
||||
|
|
@ -168,9 +162,6 @@ object MonitorableThread {
|
|||
val alive = new AtomicInteger
|
||||
}
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class MonitorableThread(runnable: Runnable, name: String)
|
||||
extends Thread(runnable, name + "-" + MonitorableThread.created.incrementAndGet) {
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@ import annotation.target._
|
|||
* This annotation marks a feature which is not yet considered stable and may
|
||||
* change or be removed in a future release.
|
||||
*
|
||||
* @author Roland Kuhn
|
||||
* @since 1.2
|
||||
*/
|
||||
@getter
|
||||
|
|
|
|||
|
|
@ -26,8 +26,6 @@ trait VersionedIterable[A] {
|
|||
|
||||
/**
|
||||
* Manages connections (ActorRefs) for a router.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
trait ConnectionManager {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -15,8 +15,6 @@ import scala.collection.mutable.{ Buffer, Map }
|
|||
* Consistent Hashing node ring abstraction.
|
||||
*
|
||||
* Not thread-safe, to be used from within an Actor or protected some other way.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class ConsistentHash[T](nodes: Seq[T], replicas: Int) {
|
||||
private val cluster = Buffer[T]()
|
||||
|
|
|
|||
|
|
@ -19,8 +19,6 @@ sealed trait RouterType
|
|||
|
||||
/**
|
||||
* Used for declarative configuration of Routing.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
object RouterType {
|
||||
|
||||
|
|
@ -92,8 +90,6 @@ object RoutedProps {
|
|||
/**
|
||||
* The Router is responsible for sending a message to one (or more) of its connections. Connections are stored in the
|
||||
* {@link FailureDetector} and each Router should be linked to only one {@link FailureDetector}.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
trait Router {
|
||||
|
||||
|
|
@ -296,8 +292,6 @@ class BroadcastRouter(implicit val dispatcher: MessageDispatcher, timeout: Timeo
|
|||
|
||||
/**
|
||||
* A DirectRouter a Router that only has a single connected actorRef and forwards all request to that actorRef.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class DirectRouter(implicit val dispatcher: MessageDispatcher, timeout: Timeout) extends BasicRouter {
|
||||
|
||||
|
|
@ -338,8 +332,6 @@ class DirectRouter(implicit val dispatcher: MessageDispatcher, timeout: Timeout)
|
|||
|
||||
/**
|
||||
* A Router that randomly selects one of the target connections to send a message to.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class RandomRouter(implicit val dispatcher: MessageDispatcher, timeout: Timeout) extends BasicRouter {
|
||||
import java.security.SecureRandom
|
||||
|
|
@ -380,8 +372,6 @@ class RandomRouter(implicit val dispatcher: MessageDispatcher, timeout: Timeout)
|
|||
|
||||
/**
|
||||
* A Router that uses round-robin to select a connection. For concurrent calls, round robin is just a best effort.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class RoundRobinRouter(implicit val dispatcher: MessageDispatcher, timeout: Timeout) extends BasicRouter {
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ package akka.serialization
|
|||
import akka.actor.Actor
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
* trait Serializer extends scala.Serializable {
|
||||
* @volatile
|
||||
* var classLoader: Option[ClassLoader] = None
|
||||
|
|
|
|||
|
|
@ -4,9 +4,6 @@
|
|||
|
||||
package akka.util
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
object Convert {
|
||||
|
||||
def intToBytes(value: Int): Array[Byte] = {
|
||||
|
|
|
|||
|
|
@ -6,9 +6,6 @@ package akka.util
|
|||
|
||||
import java.security.{ MessageDigest, SecureRandom }
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
object Crypt {
|
||||
val hex = "0123456789ABCDEF"
|
||||
val lineSeparator = System.getProperty("line.separator")
|
||||
|
|
|
|||
|
|
@ -21,8 +21,6 @@ import java.lang.{ Float ⇒ JFloat, Double ⇒ JDouble }
|
|||
* result
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
object HashCode {
|
||||
val SEED = 23
|
||||
|
|
|
|||
|
|
@ -8,17 +8,14 @@ import java.util.Comparator
|
|||
import scala.annotation.tailrec
|
||||
import java.util.regex.Pattern
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
object Helpers {
|
||||
|
||||
def makePattern(s: String): Pattern = Pattern.compile("^\\Q" + s.replace("?", "\\E.\\Q").replace("*", "\\E.*\\Q") + "\\E$")
|
||||
|
||||
def compareIdentityHash(a: AnyRef, b: AnyRef): Int = {
|
||||
/*
|
||||
* make sure that there is no overflow or underflow in comparisons, so
|
||||
* that the ordering is actually consistent and you cannot have a
|
||||
* make sure that there is no overflow or underflow in comparisons, so
|
||||
* that the ordering is actually consistent and you cannot have a
|
||||
* sequence which cyclically is monotone without end.
|
||||
*/
|
||||
val diff = ((System.identityHashCode(a) & 0xffffffffL) - (System.identityHashCode(b) & 0xffffffffL))
|
||||
|
|
|
|||
|
|
@ -13,8 +13,6 @@ import scala.collection.mutable
|
|||
* An implementation of a ConcurrentMultiMap
|
||||
* Adds/remove is serialized over the specified key
|
||||
* Reads are fully concurrent <-- el-cheapo
|
||||
*
|
||||
* @author Viktor Klang
|
||||
*/
|
||||
class Index[K, V](val mapSize: Int, val valueComparator: Comparator[V]) {
|
||||
|
||||
|
|
@ -192,7 +190,5 @@ class Index[K, V](val mapSize: Int, val valueComparator: Comparator[V]) {
|
|||
* An implementation of a ConcurrentMultiMap
|
||||
* Adds/remove is serialized over the specified key
|
||||
* Reads are fully concurrent <-- el-cheapo
|
||||
*
|
||||
* @author Viktor Klang
|
||||
*/
|
||||
class ConcurrentMultiMap[K, V](mapSize: Int, valueComparator: Comparator[V]) extends Index[K, V](mapSize, valueComparator)
|
||||
|
|
|
|||
|
|
@ -9,9 +9,6 @@ import java.lang.management.ManagementFactory
|
|||
import javax.management.{ ObjectInstance, ObjectName, InstanceAlreadyExistsException, InstanceNotFoundException }
|
||||
import akka.actor.ActorSystem
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
object JMX {
|
||||
private val mbeanServer = ManagementFactory.getPlatformMBeanServer
|
||||
|
||||
|
|
|
|||
|
|
@ -9,8 +9,6 @@ import akka.actor.{ ActorInitializationException, ActorRef }
|
|||
|
||||
/**
|
||||
* A manager for listener actors. Intended for mixin by observables.
|
||||
*
|
||||
* @author Martin Krasser
|
||||
*/
|
||||
trait ListenerManagement {
|
||||
|
||||
|
|
|
|||
|
|
@ -7,9 +7,6 @@ package akka.util
|
|||
import java.util.concurrent.locks.{ ReentrantLock }
|
||||
import java.util.concurrent.atomic.{ AtomicBoolean }
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
final class ReentrantGuard {
|
||||
final val lock = new ReentrantLock
|
||||
|
||||
|
|
|
|||
|
|
@ -21,9 +21,6 @@ entry number it will use MAX_INTEGER). Once all the entries have been processed,
|
|||
new one for its use.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
object BookKeeperServer {
|
||||
val port = 3181
|
||||
val zkServers = "localhost:2181"
|
||||
|
|
|
|||
|
|
@ -57,8 +57,6 @@ import com.google.protobuf.ByteString
|
|||
|
||||
/**
|
||||
* JMX MBean for the cluster service.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
trait ClusterNodeMBean {
|
||||
|
||||
|
|
@ -140,8 +138,6 @@ trait ClusterNodeMBean {
|
|||
|
||||
/**
|
||||
* Module for the Cluster. Also holds global state such as configuration data etc.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
object Cluster {
|
||||
val EMPTY_STRING = "".intern
|
||||
|
|
@ -257,8 +253,6 @@ object Cluster {
|
|||
*
|
||||
* /clusterName/'actor-address-to-uuids'/actorAddress/actorUuid
|
||||
* </pre>
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class DefaultClusterNode private[akka] (
|
||||
val nodeAddress: NodeAddress,
|
||||
|
|
@ -1601,9 +1595,6 @@ class DefaultClusterNode private[akka] (
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class MembershipChildListener(self: ClusterNode) extends IZkChildListener with ErrorHandler {
|
||||
def handleChildChange(parentPath: String, currentChilds: JList[String]) {
|
||||
withErrorHandler {
|
||||
|
|
@ -1643,9 +1634,6 @@ class MembershipChildListener(self: ClusterNode) extends IZkChildListener with E
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class StateListener(self: ClusterNode) extends IZkStateListener {
|
||||
def handleStateChanged(state: KeeperState) {
|
||||
state match {
|
||||
|
|
@ -1671,9 +1659,6 @@ class StateListener(self: ClusterNode) extends IZkStateListener {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
trait ErrorHandler {
|
||||
def withErrorHandler[T](body: ⇒ T) = {
|
||||
try {
|
||||
|
|
@ -1686,9 +1671,6 @@ trait ErrorHandler {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
object RemoteClusterDaemon {
|
||||
val Address = "akka-cluster-daemon".intern
|
||||
|
||||
|
|
@ -1700,8 +1682,6 @@ object RemoteClusterDaemon {
|
|||
* Internal "daemon" actor for cluster internal communication.
|
||||
*
|
||||
* It acts as the brain of the cluster that responds to cluster events (messages) and undertakes action.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class RemoteClusterDaemon(cluster: ClusterNode) extends Actor {
|
||||
|
||||
|
|
|
|||
|
|
@ -21,8 +21,6 @@ import annotation.tailrec
|
|||
|
||||
/**
|
||||
* ClusterActorRef factory and locator.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
object ClusterActorRef {
|
||||
import FailureDetectorType._
|
||||
|
|
@ -77,8 +75,6 @@ object ClusterActorRef {
|
|||
/**
|
||||
* ActorRef representing a one or many instances of a clustered, load-balanced and sometimes replicated actor
|
||||
* where the instances can reside on other nodes in the cluster.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
private[akka] class ClusterActorRef(props: RoutedProps, val address: String) extends AbstractRoutedActorRef(props) {
|
||||
|
||||
|
|
|
|||
|
|
@ -24,10 +24,6 @@ import java.util.concurrent.{ CountDownLatch, TimeUnit }
|
|||
|
||||
/**
|
||||
* A ClusterDeployer is responsible for deploying a Deploy.
|
||||
*
|
||||
* FIXME Document: what does Deploy mean?
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
object ClusterDeployer extends ActorDeployer {
|
||||
val clusterName = Cluster.name
|
||||
|
|
|
|||
|
|
@ -26,19 +26,12 @@ import java.util.Enumeration
|
|||
// FIXME allow user to choose dynamically between 'async' and 'sync' tx logging (asyncAddEntry(byte[] data, AddCallback cb, Object ctx))
|
||||
// FIXME clean up old entries in log after doing a snapshot
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class ReplicationException(message: String, cause: Throwable = null) extends AkkaException(message) {
|
||||
def this(msg: String) = this(msg, null)
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO: Explain something about threadsafety.
|
||||
*
|
||||
* A TransactionLog makes chunks of data durable.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class TransactionLog private (
|
||||
ledger: LedgerHandle,
|
||||
|
|
@ -352,7 +345,7 @@ class TransactionLog private (
|
|||
}
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
* TODO: Documentation.
|
||||
*/
|
||||
object TransactionLog {
|
||||
|
||||
|
|
@ -563,8 +556,6 @@ object TransactionLog {
|
|||
|
||||
/**
|
||||
* TODO: Documentation.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
object LocalBookKeeperEnsemble {
|
||||
private val isRunning = new Switch(false)
|
||||
|
|
|
|||
|
|
@ -7,9 +7,6 @@ package akka.cluster.sample
|
|||
import akka.cluster._
|
||||
import akka.dispatch.Futures
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
object ComputeGridSample {
|
||||
//sample.cluster.ComputeGridSample.fun2
|
||||
|
||||
|
|
|
|||
|
|
@ -33,9 +33,6 @@ class DurableMailboxException private[akka] (message: String, cause: Throwable)
|
|||
def this(message: String) = this(message, null)
|
||||
}
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
abstract class DurableMailbox(owner: ActorCell) extends Mailbox(owner) with DefaultSystemMessageQueue {
|
||||
import DurableExecutableMailboxConfig._
|
||||
|
||||
|
|
@ -76,9 +73,6 @@ trait DurableMessageSerialization {
|
|||
|
||||
}
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
abstract class DurableMailboxType(mailboxFQN: String) extends MailboxType {
|
||||
val constructorSignature = Array[Class[_]](classOf[ActorCell])
|
||||
|
||||
|
|
@ -117,8 +111,6 @@ case class FqnDurableMailboxType(mailboxFQN: String) extends DurableMailboxType(
|
|||
* Configurator for the DurableMailbox
|
||||
* Do not forget to specify the "storage", valid values are "redis", "beanstalkd", "zookeeper", "mongodb", "file",
|
||||
* or a full class name of the Mailbox implementation.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class DurableMailboxConfigurator {
|
||||
// TODO PN #896: when and how is this class supposed to be used? Can we remove it?
|
||||
|
|
|
|||
|
|
@ -13,9 +13,6 @@ import akka.actor.ActorRef
|
|||
|
||||
class RedisBasedMailboxException(message: String) extends AkkaException(message)
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class RedisBasedMailbox(val owner: ActorCell) extends DurableMailbox(owner) with DurableMessageSerialization {
|
||||
|
||||
private val settings = RedisBasedMailboxExtension(owner.system)
|
||||
|
|
|
|||
|
|
@ -17,9 +17,6 @@ import akka.actor.ActorRef
|
|||
|
||||
class ZooKeeperBasedMailboxException(message: String) extends AkkaException(message)
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class ZooKeeperBasedMailbox(val owner: ActorCell) extends DurableMailbox(owner) with DurableMessageSerialization {
|
||||
|
||||
private val settings = ZooKeeperBasedMailboxExtension(owner.system)
|
||||
|
|
|
|||
|
|
@ -23,8 +23,6 @@ object Main {
|
|||
|
||||
/**
|
||||
* The Akka Kernel, is used to start And postStop Akka in standalone/kernel mode.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
object Kernel extends AkkaLoader {
|
||||
|
||||
|
|
|
|||
|
|
@ -12,8 +12,6 @@ import akka.actor.ActorSystemImpl
|
|||
/**
|
||||
* Stream of all kinds of network events, remote failure and connection events, cluster failure and connection events etc.
|
||||
* Also provides API for sender listener management.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
object NetworkEventStream {
|
||||
|
||||
|
|
|
|||
|
|
@ -25,8 +25,6 @@ import akka.serialization.SerializationExtension
|
|||
|
||||
/**
|
||||
* Remote module - contains remote client and server config, remote server instance, remote daemon, remote dispatchers etc.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class Remote(val system: ActorSystemImpl, val nodename: String) {
|
||||
|
||||
|
|
@ -101,8 +99,6 @@ class Remote(val system: ActorSystemImpl, val nodename: String) {
|
|||
* Internal system "daemon" actor for remote internal communication.
|
||||
*
|
||||
* It acts as the brain of the remote that responds to system remote events (messages) and undertakes action.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class RemoteSystemDaemon(remote: Remote) extends Actor {
|
||||
|
||||
|
|
|
|||
|
|
@ -26,8 +26,6 @@ import akka.serialization.SerializationExtension
|
|||
|
||||
/**
|
||||
* Remote ActorRefProvider. Starts up actor on remote node and creates a RemoteActorRef representing it.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class RemoteActorRefProvider(
|
||||
val systemName: String,
|
||||
|
|
@ -257,8 +255,6 @@ class RemoteActorRefProvider(
|
|||
/**
|
||||
* Remote ActorRef that is used when referencing the Actor on a different node than its "home" node.
|
||||
* This reference is network-aware (remembers its origin) and immutable.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
private[akka] case class RemoteActorRef private[akka] (
|
||||
provider: ActorRefProvider,
|
||||
|
|
|
|||
|
|
@ -16,8 +16,6 @@ import java.util.concurrent.atomic.AtomicReference
|
|||
|
||||
/**
|
||||
* Remote connection manager, manages remote connections, e.g. RemoteActorRef's.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class RemoteConnectionManager(
|
||||
system: ActorSystem,
|
||||
|
|
|
|||
|
|
@ -112,9 +112,7 @@ class PassiveRemoteClient(val currentChannel: Channel,
|
|||
}
|
||||
|
||||
/**
|
||||
* RemoteClient represents a connection to an Akka node. Is used to send messages to remote actors on the node.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
* RemoteClient represents a connection to an Akka node. Is used to send messages to remote actors on the node.
|
||||
*/
|
||||
class ActiveRemoteClient private[akka] (
|
||||
remoteSupport: NettyRemoteSupport,
|
||||
|
|
@ -241,9 +239,6 @@ class ActiveRemoteClient private[akka] (
|
|||
private[akka] def resetReconnectionTimeWindow = reconnectionTimeWindowStart = 0L
|
||||
}
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class ActiveRemoteClientPipelineFactory(
|
||||
name: String,
|
||||
bootstrap: ClientBootstrap,
|
||||
|
|
@ -264,9 +259,6 @@ class ActiveRemoteClientPipelineFactory(
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
@ChannelHandler.Sharable
|
||||
class ActiveRemoteClientHandler(
|
||||
val name: String,
|
||||
|
|
@ -536,9 +528,6 @@ class NettyRemoteServer(val remoteSupport: NettyRemoteSupport, val loader: Optio
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class RemoteServerPipelineFactory(
|
||||
val name: String,
|
||||
val openChannels: ChannelGroup,
|
||||
|
|
@ -587,9 +576,6 @@ class RemoteServerAuthenticationHandler(secureCookie: Option[String]) extends Si
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
@ChannelHandler.Sharable
|
||||
class RemoteServerHandler(
|
||||
val name: String,
|
||||
|
|
|
|||
|
|
@ -4,14 +4,8 @@
|
|||
|
||||
package akka.serialization
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
object Compression {
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
object LZF {
|
||||
import voldemort.store.compress.lzf._
|
||||
def compress(bytes: Array[Byte]): Array[Byte] = LZFEncoder encode bytes
|
||||
|
|
|
|||
|
|
@ -11,8 +11,6 @@ import akka.actor._
|
|||
|
||||
/**
|
||||
* Base trait for all classes that wants to be able use the SLF4J logging infrastructure.
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
trait SLF4JLogging {
|
||||
@transient
|
||||
|
|
@ -29,8 +27,6 @@ object Logger {
|
|||
*
|
||||
* The thread in which the logging was performed is captured in
|
||||
* Mapped Diagnostic Context (MDC) with attribute name "sourceThread".
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class Slf4jEventHandler extends Actor with SLF4JLogging {
|
||||
|
||||
|
|
|
|||
|
|
@ -33,7 +33,6 @@ class AkkaBeansException(message: String, cause: Throwable) extends BeansExcepti
|
|||
* @author michaelkober
|
||||
* @author <a href="johan.rask@jayway.com">Johan Rask</a>
|
||||
* @author Martin Krasser
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class ActorFactoryBean extends AbstractFactoryBean[AnyRef] with ApplicationContextAware {
|
||||
import AkkaSpringConfigurationTags._
|
||||
|
|
|
|||
|
|
@ -7,9 +7,6 @@ exec scala "$0" "$@"
|
|||
*/
|
||||
import java.security.{MessageDigest, SecureRandom}
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
object Crypt {
|
||||
val hex = "0123456789ABCDEF"
|
||||
val lineSeparator = System.getProperty("line.separator")
|
||||
|
|
@ -19,8 +16,8 @@ object Crypt {
|
|||
def md5(text: String): String = md5(unifyLineSeparator(text).getBytes("ASCII"))
|
||||
|
||||
def md5(bytes: Array[Byte]): String = digest(bytes, MessageDigest.getInstance("MD5"))
|
||||
|
||||
def sha1(text: String): String = sha1(unifyLineSeparator(text).getBytes("ASCII"))
|
||||
|
||||
def sha1(text: String): String = sha1(unifyLineSeparator(text).getBytes("ASCII"))
|
||||
|
||||
def sha1(bytes: Array[Byte]): String = digest(bytes, MessageDigest.getInstance("SHA1"))
|
||||
|
||||
|
|
@ -33,8 +30,8 @@ object Crypt {
|
|||
def digest(bytes: Array[Byte], md: MessageDigest): String = {
|
||||
md.update(bytes)
|
||||
hexify(md.digest)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
def hexify(bytes: Array[Byte]): String = {
|
||||
val builder = new StringBuilder
|
||||
bytes.foreach { byte => builder.append(hex.charAt((byte & 0xF) >> 4)).append(hex.charAt(byte & 0xF)) }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue