diff --git a/akka-actors/pom.xml b/akka-actors/pom.xml index b7372a1e6e..14452ef266 100644 --- a/akka-actors/pom.xml +++ b/akka-actors/pom.xml @@ -70,19 +70,19 @@ - org.h2.compress + voldemort.store.compress h2-lzf 1.0 org.codehaus.jackson jackson-core-asl - 1.1.0 + 1.2.1 org.codehaus.jackson jackson-mapper-asl - 1.1.0 + 1.2.1 com.google.protobuf diff --git a/akka-actors/src/main/scala/actor/ActiveObject.scala b/akka-actors/src/main/scala/actor/ActiveObject.scala index a5f9b298e0..be0b59c0d9 100644 --- a/akka-actors/src/main/scala/actor/ActiveObject.scala +++ b/akka-actors/src/main/scala/actor/ActiveObject.scala @@ -6,8 +6,8 @@ package se.scalablesolutions.akka.actor import java.net.InetSocketAddress -import se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest -import se.scalablesolutions.akka.nio.{RemoteProtocolBuilder, RemoteClient, RemoteRequestIdFactory} +import se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest +import se.scalablesolutions.akka.remote.{RemoteProtocolBuilder, RemoteClient, RemoteRequestIdFactory} import se.scalablesolutions.akka.config.ScalaConfig._ import se.scalablesolutions.akka.serialization.Serializer import se.scalablesolutions.akka.util._ diff --git a/akka-actors/src/main/scala/actor/Actor.scala b/akka-actors/src/main/scala/actor/Actor.scala index 82f04a2d54..db80fa641b 100644 --- a/akka-actors/src/main/scala/actor/Actor.scala +++ b/akka-actors/src/main/scala/actor/Actor.scala @@ -4,17 +4,16 @@ package se.scalablesolutions.akka.actor -import java.net.InetSocketAddress import se.scalablesolutions.akka.Config._ import se.scalablesolutions.akka.dispatch._ +import se.scalablesolutions.akka.config.{AllForOneStrategy, OneForOneStrategy, FaultHandlingStrategy} import se.scalablesolutions.akka.config.ScalaConfig._ import se.scalablesolutions.akka.stm.Transaction._ import se.scalablesolutions.akka.stm.TransactionManagement._ import se.scalablesolutions.akka.stm.{StmException, TransactionManagement} -import se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest -import se.scalablesolutions.akka.nio.{RemoteProtocolBuilder, RemoteClient, RemoteRequestIdFactory} +import se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest +import se.scalablesolutions.akka.remote.{RemoteProtocolBuilder, RemoteClient, RemoteRequestIdFactory} import se.scalablesolutions.akka.serialization.Serializer -import se.scalablesolutions.akka.util.Helpers.ReadWriteLock import se.scalablesolutions.akka.util.{HashCode, Logging} import org.codehaus.aspectwerkz.proxy.Uuid @@ -23,6 +22,7 @@ import org.multiverse.api.ThreadLocalTransaction._ import java.util.{Queue, HashSet} import java.util.concurrent.ConcurrentLinkedQueue +import java.net.InetSocketAddress /** * Implements the Transactor abstraction. E.g. a transactional actor. @@ -48,7 +48,8 @@ case class Restart(reason: AnyRef) extends LifeCycleMessage case class Exit(dead: Actor, killer: Throwable) extends LifeCycleMessage case object Kill extends LifeCycleMessage -class ActorKilledException private[akka] (val killed: Actor) extends RuntimeException("Actor [" + killed + "] was killed by a Kill message") +class ActorKilledException private[akka] (val killed: Actor) + extends RuntimeException("Actor [" + killed + "] was killed by a Kill message") sealed abstract class DispatcherType object DispatcherType { @@ -218,7 +219,6 @@ trait Actor extends TransactionManagement { implicit protected val self: Actor = this - // FIXME http://www.assembla.com/spaces/akka/tickets/56-Change-UUID-generation-for-the-TransactionManagement-trait // Only mutable for RemoteServer in order to maintain identity across nodes private[akka] var _uuid = Uuid.newUuid.toString def uuid = _uuid @@ -227,10 +227,11 @@ trait Actor extends TransactionManagement { // private fields // ==================================== - @volatile private var _isRunning = false - @volatile private var _isSuspended = true - @volatile private var _isShutDown: Boolean = false - private var _isEventBased: Boolean = false + @volatile private[this] var _isRunning = false + @volatile private[this] var _isSuspended = true + @volatile private[this] var _isShutDown = false + @volatile private[this] var _isEventBased: Boolean = false + @volatile private[akka] var _isKilled = false private var _hotswap: Option[PartialFunction[Any, Unit]] = None private[akka] var _remoteAddress: Option[InetSocketAddress] = None private[akka] var _linkedActors: Option[HashSet[Actor]] = None @@ -252,14 +253,14 @@ trait Actor extends TransactionManagement { * message exchanges and which is in many ways better than using the '!!' method * which will make the sender wait for a reply using a *blocking* future. */ - protected[this] var sender: Option[Actor] = None + protected var sender: Option[Actor] = None /** * The 'senderFuture' field should normally not be touched by user code, which should instead use the 'reply' method. * But it can be used for advanced use-cases when one might want to store away the future and * resolve it later and/or somewhere else. */ - protected[this] var senderFuture: Option[CompletableFutureResult] = None + protected var senderFuture: Option[CompletableFutureResult] = None // ==================================== // ==== USER CALLBACKS TO OVERRIDE ==== @@ -316,7 +317,7 @@ trait Actor extends TransactionManagement { * trapExit = List(classOf[MyApplicationException], classOf[MyApplicationError]) * */ - protected[this] var trapExit: List[Class[_ <: Throwable]] = Nil + protected var trapExit: List[Class[_ <: Throwable]] = Nil /** * User overridable callback/setting. @@ -490,11 +491,13 @@ trait Actor extends TransactionManagement { /** * Same as the '!' method but does not take an implicit sender as second parameter. */ - def send(message: Any) = + def send(message: Any) = { + if (_isKilled) throw new ActorKilledException(this) if (_isRunning) postMessageToMailbox(message, None) else throw new IllegalStateException( "Actor has not been started, you need to invoke 'actor.start' before using it") - + } + /** * Sends a message asynchronously and waits on a future for a reply message. *

@@ -507,21 +510,24 @@ trait Actor extends TransactionManagement { * If you are sending messages using !! then you have to use reply(..) * to send a reply message to the original sender. If not then the sender will block until the timeout expires. */ - def !![T](message: Any, timeout: Long): Option[T] = if (_isRunning) { - val future = postMessageToMailboxAndCreateFutureResultWithTimeout(message, timeout) - val isActiveObject = message.isInstanceOf[Invocation] - if (isActiveObject && message.asInstanceOf[Invocation].isVoid) future.completeWithResult(None) - try { - future.await - } catch { - case e: FutureTimeoutException => - if (isActiveObject) throw e - else None - } - getResultOrThrowException(future) - } else throw new IllegalStateException( - "Actor has not been started, you need to invoke 'actor.start' before using it") - + def !![T](message: Any, timeout: Long): Option[T] = { + if (_isKilled) throw new ActorKilledException(this) + if (_isRunning) { + val future = postMessageToMailboxAndCreateFutureResultWithTimeout(message, timeout) + val isActiveObject = message.isInstanceOf[Invocation] + if (isActiveObject && message.asInstanceOf[Invocation].isVoid) future.completeWithResult(None) + try { + future.await + } catch { + case e: FutureTimeoutException => + if (isActiveObject) throw e + else None + } + getResultOrThrowException(future) + } else throw new IllegalStateException( + "Actor has not been started, you need to invoke 'actor.start' before using it") + } + /** * Sends a message asynchronously and waits on a future for a reply message. *

@@ -868,6 +874,7 @@ trait Actor extends TransactionManagement { else throw new IllegalArgumentException("No handler matching message [" + message + "] in " + toString) } catch { case e => + _isKilled = true Actor.log.error(e, "Could not invoke actor [%s]", this) // FIXME to fix supervisor restart of remote actor for oneway calls, inject a supervisor proxy that can send notification back to client if (_supervisor.isDefined) _supervisor.get ! Exit(this, e) @@ -969,6 +976,7 @@ trait Actor extends TransactionManagement { preRestart(reason) Actor.log.info("Restarting actor [%s] configured as PERMANENT.", id) postRestart(reason) + _isKilled = false } private[akka] def registerSupervisorAsRemoteActor: Option[String] = synchronized { diff --git a/akka-actors/src/main/scala/actor/Scheduler.scala b/akka-actors/src/main/scala/actor/Scheduler.scala index 6266c17942..8205db5843 100644 --- a/akka-actors/src/main/scala/actor/Scheduler.scala +++ b/akka-actors/src/main/scala/actor/Scheduler.scala @@ -16,6 +16,7 @@ package se.scalablesolutions.akka.actor import java.util.concurrent._ import se.scalablesolutions.akka.config.ScalaConfig._ +import se.scalablesolutions.akka.config.{AllForOneStrategy, OneForOneStrategy, FaultHandlingStrategy} import se.scalablesolutions.akka.util.{Logging} import org.scala_tools.javautils.Imports._ diff --git a/akka-actors/src/main/scala/actor/Supervisor.scala b/akka-actors/src/main/scala/actor/Supervisor.scala index bc26a921af..7fa32cb4c9 100644 --- a/akka-actors/src/main/scala/actor/Supervisor.scala +++ b/akka-actors/src/main/scala/actor/Supervisor.scala @@ -5,17 +5,13 @@ package se.scalablesolutions.akka.actor import se.scalablesolutions.akka.config.ScalaConfig._ -import se.scalablesolutions.akka.config.{ConfiguratorRepository, Configurator} +import se.scalablesolutions.akka.config.{AllForOneStrategy, OneForOneStrategy, FaultHandlingStrategy, ConfiguratorRepository, Configurator} import se.scalablesolutions.akka.util.Helpers._ import se.scalablesolutions.akka.util.Logging import se.scalablesolutions.akka.dispatch.Dispatchers import java.util.concurrent.ConcurrentHashMap -sealed abstract class FaultHandlingStrategy -case class AllForOneStrategy(maxNrOfRetries: Int, withinTimeRange: Int) extends FaultHandlingStrategy -case class OneForOneStrategy(maxNrOfRetries: Int, withinTimeRange: Int) extends FaultHandlingStrategy - /** * Abstract base class for all supervisor factories. *

diff --git a/akka-actors/src/main/scala/config/Config.scala b/akka-actors/src/main/scala/config/Config.scala index 136725cadd..5cdbfdbb9b 100644 --- a/akka-actors/src/main/scala/config/Config.scala +++ b/akka-actors/src/main/scala/config/Config.scala @@ -7,6 +7,10 @@ package se.scalablesolutions.akka.config import se.scalablesolutions.akka.actor.Actor import se.scalablesolutions.akka.dispatch.MessageDispatcher +sealed abstract class FaultHandlingStrategy +case class AllForOneStrategy(maxNrOfRetries: Int, withinTimeRange: Int) extends FaultHandlingStrategy +case class OneForOneStrategy(maxNrOfRetries: Int, withinTimeRange: Int) extends FaultHandlingStrategy + /** * Configuration classes - not to be used as messages. * diff --git a/akka-actors/src/main/scala/dispatch/ExecutorBasedEventDrivenDispatcher.scala b/akka-actors/src/main/scala/dispatch/ExecutorBasedEventDrivenDispatcher.scala index 3c85d1349c..0f77691d2d 100644 --- a/akka-actors/src/main/scala/dispatch/ExecutorBasedEventDrivenDispatcher.scala +++ b/akka-actors/src/main/scala/dispatch/ExecutorBasedEventDrivenDispatcher.scala @@ -56,30 +56,21 @@ package se.scalablesolutions.akka.dispatch class ExecutorBasedEventDrivenDispatcher(_name: String) extends MessageDispatcher with ThreadPoolBuilder { @volatile private var active: Boolean = false - val name = "event-driven:executor:dispatcher:" + _name + val name: String = "event-driven:executor:dispatcher:" + _name withNewThreadPoolWithLinkedBlockingQueueWithUnboundedCapacity.buildThreadPool - def processMessages(invocation: MessageInvocation): Unit = while (true) { - val message = invocation.receiver._mailbox.poll - if (message == null) return - else message.invoke - } - def dispatch(invocation: MessageInvocation) = if (active) { executor.execute(new Runnable() { def run = { invocation.receiver.synchronized { - processMessages(invocation) - } -/* invocation.receiver.synchronized { val messages = invocation.receiver._mailbox.iterator while (messages.hasNext) { messages.next.asInstanceOf[MessageInvocation].invoke messages.remove } } -*/ } + } }) } else throw new IllegalStateException("Can't submit invocations to dispatcher since it's not started") diff --git a/akka-actors/src/main/scala/dispatch/ThreadPoolBuilder.scala b/akka-actors/src/main/scala/dispatch/ThreadPoolBuilder.scala index 4a3659d981..6e975e885d 100644 --- a/akka-actors/src/main/scala/dispatch/ThreadPoolBuilder.scala +++ b/akka-actors/src/main/scala/dispatch/ThreadPoolBuilder.scala @@ -12,18 +12,19 @@ import java.util.Collection trait ThreadPoolBuilder { val name: String - + private val NR_START_THREADS = 4 private val NR_MAX_THREADS = 128 private val KEEP_ALIVE_TIME = 60000L // default is one minute private val MILLISECONDS = TimeUnit.MILLISECONDS private var threadPoolBuilder: ThreadPoolExecutor = _ - private val threadFactory = new MonitorableThreadFactory(name) private var boundedExecutorBound = -1 private var inProcessOfBuilding = false private var blockingQueue: BlockingQueue[Runnable] = _ + private lazy val threadFactory = new MonitorableThreadFactory(name) + protected var executor: ExecutorService = _ def buildThreadPool = synchronized { @@ -38,7 +39,7 @@ trait ThreadPoolBuilder { } } - def withNewThreadPoolWithQueue(queue: BlockingQueue[Runnable]): ThreadPoolBuilder = synchronized { + def withNewThreadPoolWithCustomBlockingQueue(queue: BlockingQueue[Runnable]): ThreadPoolBuilder = synchronized { ensureNotActive verifyNotInConstructionPhase inProcessOfBuilding = false @@ -52,7 +53,7 @@ trait ThreadPoolBuilder { *

* The 'bound' variable should specify the number equal to the size of the thread pool PLUS the number of queued tasks that should be followed. */ - def withNewThreadPoolWithBoundedBlockingQueue(bound: Int): ThreadPoolBuilder = synchronized { + def withNewBoundedThreadPoolWithLinkedBlockingQueueWithUnboundedCapacity(bound: Int): ThreadPoolBuilder = synchronized { ensureNotActive verifyNotInConstructionPhase blockingQueue = new LinkedBlockingQueue[Runnable] @@ -61,19 +62,19 @@ trait ThreadPoolBuilder { this } - def withNewThreadPoolWithLinkedBlockingQueueWithCapacity(capacity: Int): ThreadPoolBuilder = synchronized { + def withNewThreadPoolWithLinkedBlockingQueueWithUnboundedCapacity: ThreadPoolBuilder = synchronized { ensureNotActive verifyNotInConstructionPhase - blockingQueue = new LinkedBlockingQueue[Runnable](capacity) + blockingQueue = new LinkedBlockingQueue[Runnable] threadPoolBuilder = new ThreadPoolExecutor( NR_START_THREADS, NR_MAX_THREADS, KEEP_ALIVE_TIME, MILLISECONDS, blockingQueue, threadFactory, new CallerRunsPolicy) this } - def withNewThreadPoolWithLinkedBlockingQueueWithUnboundedCapacity: ThreadPoolBuilder = synchronized { + def withNewThreadPoolWithLinkedBlockingQueueWithCapacity(capacity: Int): ThreadPoolBuilder = synchronized { ensureNotActive verifyNotInConstructionPhase - blockingQueue = new LinkedBlockingQueue[Runnable] + blockingQueue = new LinkedBlockingQueue[Runnable](capacity) threadPoolBuilder = new ThreadPoolExecutor( NR_START_THREADS, NR_MAX_THREADS, KEEP_ALIVE_TIME, MILLISECONDS, blockingQueue, threadFactory, new CallerRunsPolicy) this diff --git a/akka-actors/src/main/scala/nio/LzfCompression.scala b/akka-actors/src/main/scala/nio/LzfCompression.scala deleted file mode 100644 index d69e9856ee..0000000000 --- a/akka-actors/src/main/scala/nio/LzfCompression.scala +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Copyright (C) 2009 Scalable Solutions. - */ - -package se.scalablesolutions.akka.nio - -import org.h2.compress.{LZFInputStream, LZFOutputStream} - -import org.jboss.netty.channel.{Channel, ChannelHandlerContext, ChannelPipelineCoverage} -import org.jboss.netty.buffer.{ChannelBufferOutputStream, ChannelBufferInputStream, ChannelBuffer} -import org.jboss.netty.handler.codec.oneone.{OneToOneEncoder, OneToOneDecoder}; - -@ChannelPipelineCoverage("all") -class LzfDecoder extends OneToOneDecoder { - override protected def decode(ctx: ChannelHandlerContext, channel: Channel, message: AnyRef) = { - if (!(message.isInstanceOf[ChannelBuffer])) message - else { - new LZFInputStream(new ChannelBufferInputStream(message.asInstanceOf[ChannelBuffer])) - } - } -} - -@ChannelPipelineCoverage("all") -class LzfEncoder extends OneToOneEncoder { - override protected def encode(ctx: ChannelHandlerContext, channel: Channel, message: AnyRef) = { - if (!(message.isInstanceOf[ChannelBuffer])) message - else new LZFOutputStream(new ChannelBufferOutputStream(message.asInstanceOf[ChannelBuffer])) - } -} diff --git a/akka-actors/src/main/scala/nio/RemoteClient.scala b/akka-actors/src/main/scala/remote/RemoteClient.scala similarity index 98% rename from akka-actors/src/main/scala/nio/RemoteClient.scala rename to akka-actors/src/main/scala/remote/RemoteClient.scala index 1daca82a6b..cf9182646b 100644 --- a/akka-actors/src/main/scala/nio/RemoteClient.scala +++ b/akka-actors/src/main/scala/remote/RemoteClient.scala @@ -2,11 +2,11 @@ * Copyright (C) 2009 Scalable Solutions. */ -package se.scalablesolutions.akka.nio +package se.scalablesolutions.akka.remote import scala.collection.mutable.HashMap -import se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.{RemoteRequest, RemoteReply} +import se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.{RemoteRequest, RemoteReply} import se.scalablesolutions.akka.actor.{Exit, Actor} import se.scalablesolutions.akka.dispatch.{DefaultCompletableFutureResult, CompletableFutureResult} import se.scalablesolutions.akka.util.Logging @@ -102,8 +102,7 @@ class RemoteClient(hostname: String, port: Int) extends Logging { connection.getChannel.getCloseFuture.awaitUninterruptibly channelFactory.releaseExternalResources } - - timer.stop + timer.stop } def send(request: RemoteRequest): Option[CompletableFutureResult] = if (isRunning) { @@ -169,7 +168,7 @@ class RemoteClientHandler(val name: String, val futures: ConcurrentMap[Long, CompletableFutureResult], val supervisors: ConcurrentMap[String, Actor], val bootstrap: ClientBootstrap, - val timer: HashedWheelTimer) + val timer: HashedWheelTimer) extends SimpleChannelUpstreamHandler with Logging { import Actor.Sender.Self diff --git a/akka-actors/src/main/scala/nio/RemoteProtocolBuilder.scala b/akka-actors/src/main/scala/remote/RemoteProtocolBuilder.scala similarity index 98% rename from akka-actors/src/main/scala/nio/RemoteProtocolBuilder.scala rename to akka-actors/src/main/scala/remote/RemoteProtocolBuilder.scala index 18e2e62d9b..82213ad12c 100644 --- a/akka-actors/src/main/scala/nio/RemoteProtocolBuilder.scala +++ b/akka-actors/src/main/scala/remote/RemoteProtocolBuilder.scala @@ -2,11 +2,11 @@ * Copyright (C) 2009 Scalable Solutions. */ -package se.scalablesolutions.akka.nio +package se.scalablesolutions.akka.remote import se.scalablesolutions.akka.serialization.Serializable.SBinary import se.scalablesolutions.akka.serialization.{Serializer, Serializable, SerializationProtocol} -import se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.{RemoteRequest, RemoteReply} +import se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.{RemoteRequest, RemoteReply} import com.google.protobuf.{Message, ByteString} diff --git a/akka-actors/src/main/scala/nio/RemoteServer.scala b/akka-actors/src/main/scala/remote/RemoteServer.scala similarity index 97% rename from akka-actors/src/main/scala/nio/RemoteServer.scala rename to akka-actors/src/main/scala/remote/RemoteServer.scala index d29087f828..1145689683 100755 --- a/akka-actors/src/main/scala/nio/RemoteServer.scala +++ b/akka-actors/src/main/scala/remote/RemoteServer.scala @@ -2,7 +2,7 @@ * Copyright (C) 2009 Scalable Solutions. */ -package se.scalablesolutions.akka.nio +package se.scalablesolutions.akka.remote import java.lang.reflect.InvocationTargetException import java.net.InetSocketAddress @@ -10,7 +10,7 @@ import java.util.concurrent.{ConcurrentHashMap, Executors} import se.scalablesolutions.akka.actor._ import se.scalablesolutions.akka.util._ -import se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.{RemoteReply, RemoteRequest} +import se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.{RemoteReply, RemoteRequest} import se.scalablesolutions.akka.Config.config import org.jboss.netty.bootstrap.ServerBootstrap @@ -25,14 +25,19 @@ import org.jboss.netty.handler.codec.compression.{ZlibEncoder, ZlibDecoder} * Use this object if you need a single remote server on a specific node. * *

+ * // takes hostname and port from 'akka.conf'
  * RemoteNode.start
  * 
* + *
+ * RemoteNode.start(hostname, port)
+ * 
+ * * If you need to create more than one, then you can use the RemoteServer: * *
  * val server = new RemoteServer
- * server.start
+ * server.start(hostname, port)
  * 
* * @author Jonas Bonér @@ -201,8 +206,7 @@ class RemoteServerHandler(val name: String, openChannels: ChannelGroup, val appl private def dispatchToActor(request: RemoteRequest, channel: Channel) = { log.debug("Dispatching to remote actor [%s]", request.getTarget) val actor = createActor(request.getTarget, request.getUuid, request.getTimeout) - actor.start - + val message = RemoteProtocolBuilder.getMessage(request) if (request.getIsOneWay) { if (request.hasSourceHostname && request.hasSourcePort) { @@ -360,6 +364,7 @@ class RemoteServerHandler(val name: String, openChannels: ChannelGroup, val appl newInstance.timeout = timeout newInstance._remoteAddress = None actors.put(uuid, newInstance) + newInstance.start newInstance } catch { case e => diff --git a/akka-actors/src/main/scala/nio/RequestReply.scala b/akka-actors/src/main/scala/remote/RequestReply.scala similarity index 99% rename from akka-actors/src/main/scala/nio/RequestReply.scala rename to akka-actors/src/main/scala/remote/RequestReply.scala index ce79653f06..a4a0cc8924 100644 --- a/akka-actors/src/main/scala/nio/RequestReply.scala +++ b/akka-actors/src/main/scala/remote/RequestReply.scala @@ -2,7 +2,7 @@ * Copyright (C) 2009 Scalable Solutions. */ -package se.scalablesolutions.akka.nio +package se.scalablesolutions.akka.remote import java.util.concurrent.atomic.AtomicLong import stm.Transaction diff --git a/akka-actors/src/main/scala/serialization/Compression.scala b/akka-actors/src/main/scala/serialization/Compression.scala new file mode 100644 index 0000000000..9cc2649742 --- /dev/null +++ b/akka-actors/src/main/scala/serialization/Compression.scala @@ -0,0 +1,21 @@ +/** + * Copyright (C) 2009 Scalable Solutions. + */ + +package se.scalablesolutions.akka.serialization + +/** + * @author Jonas Bonér + */ +object Compression { + + /** + * @author Jonas Bonér + */ + object LZF { + import voldemort.store.compress.lzf._ + def compress(bytes: Array[Byte]): Array[Byte] = LZFEncoder.encode(bytes) + def uncompress(bytes: Array[Byte]): Array[Byte] = LZFDecoder.decode(bytes) + } +} + diff --git a/akka-actors/src/main/scala/serialization/Serializer.scala b/akka-actors/src/main/scala/serialization/Serializer.scala index 643855a141..e6b791f168 100644 --- a/akka-actors/src/main/scala/serialization/Serializer.scala +++ b/akka-actors/src/main/scala/serialization/Serializer.scala @@ -10,7 +10,7 @@ import com.google.protobuf.Message import org.codehaus.jackson.map.ObjectMapper -import sjson.json.{Serializer =>SJSONSerializer} +import sjson.json.{Serializer => SJSONSerializer} /** * @author Jonas Bonér diff --git a/akka-actors/src/test/scala/RemoteActorTest.scala b/akka-actors/src/test/scala/RemoteActorTest.scala index 51b1882342..e79b5cdd72 100644 --- a/akka-actors/src/test/scala/RemoteActorTest.scala +++ b/akka-actors/src/test/scala/RemoteActorTest.scala @@ -6,7 +6,7 @@ import junit.framework.TestCase import org.scalatest.junit.JUnitSuite import org.junit.{Test, Before, After} -import se.scalablesolutions.akka.nio.{RemoteServer, RemoteClient} +import se.scalablesolutions.akka.remote.{RemoteServer, RemoteClient} import se.scalablesolutions.akka.dispatch.Dispatchers object Global { diff --git a/akka-actors/src/test/scala/RemoteSupervisorTest.scala b/akka-actors/src/test/scala/RemoteSupervisorTest.scala index 06e212fa76..008bebed85 100644 --- a/akka-actors/src/test/scala/RemoteSupervisorTest.scala +++ b/akka-actors/src/test/scala/RemoteSupervisorTest.scala @@ -6,7 +6,7 @@ package se.scalablesolutions.akka.actor import se.scalablesolutions.akka.serialization.BinaryString import se.scalablesolutions.akka.config.ScalaConfig._ -import se.scalablesolutions.akka.nio.{RemoteNode, RemoteServer} +import se.scalablesolutions.akka.remote.{RemoteNode, RemoteServer} import se.scalablesolutions.akka.OneWay import se.scalablesolutions.akka.dispatch.Dispatchers diff --git a/akka-amqp/src/main/scala/AMQP.scala b/akka-amqp/src/main/scala/AMQP.scala index d2144b31f6..14c2b742ef 100644 --- a/akka-amqp/src/main/scala/AMQP.scala +++ b/akka-amqp/src/main/scala/AMQP.scala @@ -7,7 +7,8 @@ package se.scalablesolutions.akka.amqp import com.rabbitmq.client.{AMQP => RabbitMQ, _} import com.rabbitmq.client.ConnectionFactory -import se.scalablesolutions.akka.actor.{OneForOneStrategy, Actor} +import se.scalablesolutions.akka.actor.Actor +import se.scalablesolutions.akka.config.OneForOneStrategy import se.scalablesolutions.akka.config.ScalaConfig._ import se.scalablesolutions.akka.util.{HashCode, Logging} diff --git a/akka-camel/pom.xml b/akka-camel/pom.xml deleted file mode 100644 index a862e8f64f..0000000000 --- a/akka-camel/pom.xml +++ /dev/null @@ -1,48 +0,0 @@ - - 4.0.0 - - akka-camel - Akka Camel Module - - jar - - - akka - se.scalablesolutions.akka - 0.6 - ../pom.xml - - - - - - akka-util - ${project.groupId} - ${project.version} - - - akka-actors - ${project.groupId} - ${project.version} - - - org.apache.camel - camel-core - 2.0-SNAPSHOT - - - - - - - false - src/main/resources - - META-INF/* - - - - - diff --git a/akka-camel/src/main/resources/META-INF/services/org/apache/camel/component/akka b/akka-camel/src/main/resources/META-INF/services/org/apache/camel/component/akka deleted file mode 100644 index 7c846bc93e..0000000000 --- a/akka-camel/src/main/resources/META-INF/services/org/apache/camel/component/akka +++ /dev/null @@ -1 +0,0 @@ -class=se.scalablesolutions.akka.kernel.camel.ActiveObjectComponent \ No newline at end of file diff --git a/akka-camel/src/main/scala/ActiveObjectComponent.scala b/akka-camel/src/main/scala/ActiveObjectComponent.scala deleted file mode 100644 index f95fd3c2ed..0000000000 --- a/akka-camel/src/main/scala/ActiveObjectComponent.scala +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Copyright (C) 2009 Scalable Solutions. - */ - -package se.scalablesolutions.akka.camel - -import config.ActiveObjectConfigurator - -import java.util.Map -import java.util.concurrent.{BlockingQueue, LinkedBlockingQueue} - -import org.apache.camel.{Endpoint, Exchange} -import org.apache.camel.impl.DefaultComponent - -/** - * @author Jonas Bonér - */ -class ActiveObjectComponent(val conf: ActiveObjectConfigurator) extends DefaultComponent { - override def createEndpoint(uri: String, remaining: String, parameters: Map[_,_]): Endpoint = { - //val consumers = getAndRemoveParameter(parameters, "concurrentConsumers", classOf[Int], 1) - new ActiveObjectEndpoint(uri, this, conf) - } -} diff --git a/akka-camel/src/main/scala/ActiveObjectConsumer.scala b/akka-camel/src/main/scala/ActiveObjectConsumer.scala deleted file mode 100644 index f9f187de45..0000000000 --- a/akka-camel/src/main/scala/ActiveObjectConsumer.scala +++ /dev/null @@ -1,36 +0,0 @@ -/** - * Copyright (C) 2009 Scalable Solutions. - */ - -package se.scalablesolutions.akka.camel - -import java.util.concurrent.{BlockingQueue, ExecutorService, Executors, ThreadFactory, TimeUnit} - -import util.Logging - -import org.apache.camel.{AsyncCallback, AsyncProcessor, Consumer, Exchange, Processor} -import org.apache.camel.impl.ServiceSupport -import org.apache.camel.impl.converter.AsyncProcessorTypeConverter - -/** - * @author Jonas Bonér - */ -class ActiveObjectConsumer( - val endpoint: ActiveObjectEndpoint, - proc: Processor, - val activeObject: AnyRef) - extends ServiceSupport with Consumer with Runnable with Logging { - val processor = AsyncProcessorTypeConverter.convert(proc) - println("------- creating consumer for: "+ endpoint.uri) - - override def run = { - } - - def doStart() = { - } - - def doStop() = { - } - - override def toString(): String = "ActiveObjectConsumer [" + endpoint.getEndpointUri + "]" -} diff --git a/akka-camel/src/main/scala/ActiveObjectEndpoint.scala b/akka-camel/src/main/scala/ActiveObjectEndpoint.scala deleted file mode 100644 index 3999c0b897..0000000000 --- a/akka-camel/src/main/scala/ActiveObjectEndpoint.scala +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Copyright (C) 2009 Scalable Solutions. - */ - -package se.scalablesolutions.akka.camel - -import config.ActiveObjectConfigurator -import util.Logging - -import java.util.{ArrayList, HashSet, List, Set} -import java.util.concurrent.{BlockingQueue, CopyOnWriteArraySet, LinkedBlockingQueue} - -import org.apache.camel.{Component, Consumer, Exchange, Processor, Producer} -import org.apache.camel.impl.{DefaultEndpoint, DefaultComponent}; -import org.apache.camel.spi.BrowsableEndpoint; - -/** - * @author Jonas Bonér - */ -class ActiveObjectEndpoint(val uri: String, val component: DefaultComponent, val conf: ActiveObjectConfigurator) // FIXME: need abstraction trait here - extends DefaultEndpoint(uri) with BrowsableEndpoint with Logging { - - val firstSep = uri.indexOf(':') - val lastSep = uri.lastIndexOf( '.') - - val scheme = uri.substring(0, firstSep) - val activeObjectName = uri.substring(uri.indexOf(':') + 1, lastSep) - val activeObjectClass = Thread.currentThread.getContextClassLoader.loadClass(activeObjectName) - val methodName = uri.substring(lastSep + 1, uri.length) - val activeObject = conf.getInstance(activeObjectClass).asInstanceOf[MessageDriven] -// val activeObjectProxy = conf.getInstanceProxy(activeObjectName) - -// val genericServer = supervisor.getServerOrElse( -// activeObjectName, -// throw new IllegalArgumentException("Can't find active object with name [" + activeObjectName + "] and method [" + methodName + "]")) - - log.debug("Creating Camel Endpoint for scheme [%s] and component [%s]", scheme, activeObjectName) - - private var queue: BlockingQueue[Exchange] = new LinkedBlockingQueue[Exchange](1000) - - override def createProducer: Producer = new ActiveObjectProducer(this, activeObject) - - override def createConsumer(processor: Processor): Consumer = new ActiveObjectConsumer(this, processor, activeObject) - - override def getExchanges: List[Exchange] = new ArrayList[Exchange](queue) - - override def isSingleton = true -} diff --git a/akka-camel/src/main/scala/ActiveObjectProducer.scala b/akka-camel/src/main/scala/ActiveObjectProducer.scala deleted file mode 100644 index 9494510097..0000000000 --- a/akka-camel/src/main/scala/ActiveObjectProducer.scala +++ /dev/null @@ -1,42 +0,0 @@ -/** - * Copyright (C) 2009 Scalable Solutions. - */ - -package se.scalablesolutions.akka.camel - -import java.util.Collection -import util.Logging; -import java.util.concurrent.BlockingQueue; - -import org.apache.camel.{Exchange, AsyncProcessor, AsyncCallback} -import org.apache.camel.impl.DefaultProducer - -/** - * @author Jonas Bonér - */ -class ActiveObjectProducer( - val endpoint: ActiveObjectEndpoint, - val activeObject: MessageDriven) - extends DefaultProducer(endpoint) with AsyncProcessor with Logging { - private val actorName = endpoint.activeObjectName - - def process(exchange: Exchange) = activeObject.onMessage(exchange) // FIXME: should we not invoke the generic server here? - - def process(exchange: Exchange, callback: AsyncCallback): Boolean = { - val copy = exchange.copy - copy.setProperty("CamelAsyncCallback", callback) - activeObject.onMessage(copy) - callback.done(true) - true - } - - override def doStart = { - super.doStart - } - - override def doStop = { - super.doStop - } - - override def toString(): String = "ActiveObjectProducer [" + endpoint.getEndpointUri + "]" -} diff --git a/akka-camel/src/main/scala/CamelConfigurator.scala b/akka-camel/src/main/scala/CamelConfigurator.scala deleted file mode 100644 index 76ddebeaf1..0000000000 --- a/akka-camel/src/main/scala/CamelConfigurator.scala +++ /dev/null @@ -1,35 +0,0 @@ -/** - * Copyright (C) 2009 Scalable Solutions. - */ - -package se.scalablesolutions.akka.config - -import org.apache.camel.{Routes, CamelContext, Endpoint} - -trait CamelConfigurator { - - /** - * Add Camel routes for the active objects. - *
-   * activeObjectConfigurator.addRoutes(new RouteBuilder() {
-   *   def configure = {
-   *     from("akka:actor1").to("akka:actor2")
-   *     from("akka:actor2").process(new Processor() {
-   *       def process(e: Exchange) = {
-   *         println("Received exchange: " + e.getIn())
-   *       }
-   *     })
-   *   }
-   * }).inject().supervise();
-   * 
- */ - def addRoutes(routes: Routes): ActiveObjectConfiguratorBase - - def getCamelContext: CamelContext - - def getRoutingEndpoint(uri: String): Endpoint - - def getRoutingEndpoints: java.util.Collection[Endpoint] - - def getRoutingEndpoints(uri: String): java.util.Collection[Endpoint] -} diff --git a/akka-camel/src/main/scala/MessageDriven.scala b/akka-camel/src/main/scala/MessageDriven.scala deleted file mode 100644 index 3e73a4101b..0000000000 --- a/akka-camel/src/main/scala/MessageDriven.scala +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Copyright (C) 2009 Scalable Solutions. - */ - -package se.scalablesolutions.akka.camel - -import org.apache.camel.Exchange - -/** - * @author Jonas Bonér - */ -trait MessageDriven { - def onMessage(exchange: Exchange) -} \ No newline at end of file diff --git a/akka-camel/src/main/scala/SupervisorAwareCamelContext.scala b/akka-camel/src/main/scala/SupervisorAwareCamelContext.scala deleted file mode 100644 index 4b9ee8b41d..0000000000 --- a/akka-camel/src/main/scala/SupervisorAwareCamelContext.scala +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Copyright (C) 2009 Scalable Solutions. - */ - -package se.scalablesolutions.akka.camel - -import actor.Supervisor -import util.Logging -import org.apache.camel.impl.{DefaultCamelContext, DefaultEndpoint, DefaultComponent} - -/** - * @author Jonas Bonér - */ -class SupervisorAwareCamelContext extends DefaultCamelContext with Logging { - var supervisor: Supervisor = _ -} \ No newline at end of file diff --git a/akka-camel/src/test/scala/CamelSpec.scala b/akka-camel/src/test/scala/CamelSpec.scala deleted file mode 100644 index 7934f69445..0000000000 --- a/akka-camel/src/test/scala/CamelSpec.scala +++ /dev/null @@ -1,101 +0,0 @@ -/** - * Copyright (C) 2009 Scalable Solutions. - */ - -package se.scalablesolutions.akka.camel - -/* -import config.ActiveObjectGuiceConfigurator -import annotation.oneway -import config.ScalaConfig._ - -import com.google.inject.{AbstractModule, Scopes} -//import com.jteigen.scalatest.JUnit4Runner - -import org.apache.camel.component.bean.ProxyHelper -import org.junit.runner.RunWith -import org.scalatest._ -import org.scalatest.matchers._ - -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.TimeUnit; - -import org.apache.camel.CamelContext -import org.apache.camel.Endpoint -import org.apache.camel.Exchange -import org.apache.camel.Processor -import org.apache.camel.Producer -import org.apache.camel.builder.RouteBuilder -import org.apache.camel.impl.DefaultCamelContext - -// REQUIRES: -Djava.naming.factory.initial=org.apache.camel.util.jndi.CamelInitialContextFactory -*/ -/** - * @author Jonas Bonér - * -//@RunWith(classOf[JUnit4Runner]) -class CamelSpec extends Spec with ShouldMatchers { - - describe("A Camel routing scheme") { - it("should route message from direct:test to actor A using @Bean endpoint") { - - val latch = new CountDownLatch(1); - - val conf = new ActiveObjectGuiceConfigurator - conf.configure( - RestartStrategy(AllForOne, 3, 5000), - Component( - "camelfoo", - classOf[CamelFoo], - classOf[CamelFooImpl], - LifeCycle(Permanent), - 1000) :: - Nil - ).addRoutes(new RouteBuilder() { - def configure = { - from("direct:test").to("bean:camelfoo").process(new Processor() { - def process(e: Exchange) = { - println("Received exchange: " + e.getIn()) - latch.countDown - } - }) - }} - ).supervise - - val endpoint = conf.getRoutingEndpoint("direct:test") - val proxy = ProxyHelper.createProxy(endpoint, classOf[CamelFoo]) - - proxy.foo("hello there") - - val exchange = endpoint.createExchange - println("----- " + exchange) - - exchange.getIn().setBody("hello there") - - val producer = endpoint.createProducer - println("----- " + producer) - - producer.process(exchange) - - // now lets sleep for a while - val received = latch.await(5, TimeUnit.SECONDS) - received should equal (true) - conf.stop - } - } -} - -trait CamelFoo { - @oneway def foo(msg: String) -} -trait CamelBar { - def bar(msg: String): String -} - -class CamelFooImpl extends CamelFoo { - def foo(msg: String) = println("CamelFoo.foo:" + msg) -} -class CamelBarImpl extends CamelBar { - def bar(msg: String) = msg + "return_bar " -} - */ diff --git a/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/RemoteInMemoryStateTest.java b/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/RemoteInMemoryStateTest.java index de2c1dbd41..571d76e9ce 100644 --- a/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/RemoteInMemoryStateTest.java +++ b/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/RemoteInMemoryStateTest.java @@ -7,7 +7,7 @@ package se.scalablesolutions.akka.api; import se.scalablesolutions.akka.Config; import se.scalablesolutions.akka.actor.ActiveObject; import se.scalablesolutions.akka.config.ActiveObjectConfigurator; -import se.scalablesolutions.akka.nio.RemoteNode; +import se.scalablesolutions.akka.remote.RemoteNode; import junit.framework.TestCase; diff --git a/akka-kernel/pom.xml b/akka-kernel/pom.xml index c22d8b39ed..4edc8ee5bf 100755 --- a/akka-kernel/pom.xml +++ b/akka-kernel/pom.xml @@ -37,11 +37,6 @@ ${project.groupId} ${project.version}
- - akka-camel - ${project.groupId} - ${project.version} - akka-security ${project.groupId} diff --git a/akka-kernel/src/main/scala/Kernel.scala b/akka-kernel/src/main/scala/Kernel.scala index 4c4c444c08..8d684c4619 100644 --- a/akka-kernel/src/main/scala/Kernel.scala +++ b/akka-kernel/src/main/scala/Kernel.scala @@ -12,7 +12,7 @@ import javax.ws.rs.core.UriBuilder import java.io.File import java.net.URLClassLoader -import se.scalablesolutions.akka.nio.RemoteNode +import se.scalablesolutions.akka.remote.RemoteNode import se.scalablesolutions.akka.util.Logging import se.scalablesolutions.akka.actor.ActorRegistry diff --git a/akka-persistence/pom.xml b/akka-persistence/pom.xml index 10f90035b9..e85bf912b3 100644 --- a/akka-persistence/pom.xml +++ b/akka-persistence/pom.xml @@ -28,9 +28,9 @@ - com.mongodb - mongo - 1.0 + org.mongodb + mongo-java-driver + 1.1 diff --git a/akka-rest/src/main/resources/META-INF/services/javax.ws.rs.ext.MessageBodyWriter b/akka-rest/src/main/resources/META-INF/services/javax.ws.rs.ext.MessageBodyWriter_FIXME similarity index 100% rename from akka-rest/src/main/resources/META-INF/services/javax.ws.rs.ext.MessageBodyWriter rename to akka-rest/src/main/resources/META-INF/services/javax.ws.rs.ext.MessageBodyWriter_FIXME diff --git a/akka-samples-lift/src/main/scala/akka/SimpleService.scala b/akka-samples-lift/src/main/scala/akka/SimpleService.scala index 8bec513bb9..4f23ef965a 100644 --- a/akka-samples-lift/src/main/scala/akka/SimpleService.scala +++ b/akka-samples-lift/src/main/scala/akka/SimpleService.scala @@ -1,6 +1,6 @@ package sample.lift -import se.scalablesolutions.akka.actor.Actor +import se.scalablesolutions.akka.actor.{Transactor, Actor} import se.scalablesolutions.akka.config.ScalaConfig._ import se.scalablesolutions.akka.state.{CassandraStorage, TransactionalState} @@ -8,7 +8,6 @@ import java.lang.Integer import javax.ws.rs.{GET, Path, Produces} import java.nio.ByteBuffer - /** * Try service out by invoking (multiple times): *
@@ -17,9 +16,7 @@ import java.nio.ByteBuffer
  * Or browse to the URL from a web browser.
  */
 @Path("/liftcount")
-class SimpleService extends Actor {
-  makeTransactionRequired
-
+class SimpleService extends Transactor {
   case object Tick
   private val KEY = "COUNTER"
   private var hasStartedTicking = false
diff --git a/akka-samples-scala/src/main/scala/SimpleService.scala b/akka-samples-scala/src/main/scala/SimpleService.scala
index 98441378b8..fedddfd1a1 100644
--- a/akka-samples-scala/src/main/scala/SimpleService.scala
+++ b/akka-samples-scala/src/main/scala/SimpleService.scala
@@ -4,7 +4,7 @@
 
 package sample.scala
 
-import se.scalablesolutions.akka.actor.{SupervisorFactory, Actor}
+import se.scalablesolutions.akka.actor.{Transactor, SupervisorFactory, Actor}
 import se.scalablesolutions.akka.state.{CassandraStorage, TransactionalState}
 import se.scalablesolutions.akka.config.ScalaConfig._
 import se.scalablesolutions.akka.util.Logging
@@ -32,32 +32,13 @@ class Boot {
       Supervise(
          new PersistentSimpleService,
          LifeCycle(Permanent)) ::
-   Supervise(
+      Supervise(
          new PubSub,
          LifeCycle(Permanent))
       :: Nil))
   factory.newInstance.start
 }
 
-@Path("/pubsub/")
-class PubSub extends Actor {
- case class Msg(topic: String, message: String)
-
- @GET
- @Suspend
- @Produces(Array("text/plain;charset=ISO-8859-1"))
- @Path("/topic/{topic}/")
- def subscribe(@PathParam("topic") topic: Broadcaster): Broadcastable = new Broadcastable("", topic)
-
- @GET
- @Broadcast
- @Path("/topic/{topic}/{message}/")
- @Produces(Array("text/plain;charset=ISO-8859-1"))
- def say(@PathParam("topic") topic: Broadcaster, @PathParam("message") message: String): Broadcastable = new Broadcastable(message, topic)
-
- override def receive = { case _ => }
-}
-
 /**
  * Try service out by invoking (multiple times):
  * 
@@ -66,9 +47,8 @@ class PubSub extends Actor {
  * Or browse to the URL from a web browser.
  */
 @Path("/scalacount")
-class SimpleService extends Actor {
-  makeTransactionRequired
-
+class SimpleService extends Transactor {
+  
   case object Tick
   private val KEY = "COUNTER"
   private var hasStartedTicking = false
@@ -91,6 +71,24 @@ class SimpleService extends Actor {
   }
 }
 
+@Path("/pubsub/")
+class PubSub extends Actor {
+  case class Msg(topic: String, message: String)
+
+  @GET
+  @Suspend
+  @Produces(Array("text/plain;charset=ISO-8859-1"))
+  @Path("/topic/{topic}/")
+  def subscribe(@PathParam("topic") topic: Broadcaster): Broadcastable = new Broadcastable("", topic)
+
+  @GET
+  @Broadcast
+  @Path("/topic/{topic}/{message}/")
+  @Produces(Array("text/plain;charset=ISO-8859-1"))
+  def say(@PathParam("topic") topic: Broadcaster, @PathParam("message") message: String): Broadcastable = new Broadcastable(message, topic)
+
+  def receive = { case _ => }
+}
 /**
  * Try service out by invoking (multiple times):
  * 
@@ -126,9 +124,7 @@ class PersistentSimpleService extends Actor {
 }
 
 @Path("/chat")
-class Chat extends Actor with Logging {
-  makeTransactionRequired
-
+class Chat extends Transactor {
   case class Chat(val who: String, val what: String, val msg: String)
 
   @Suspend
diff --git a/akka-util-java/src/main/java/se/scalablesolutions/akka/nio/protobuf/RemoteProtocol.java b/akka-util-java/src/main/java/se/scalablesolutions/akka/remote/protobuf/RemoteProtocol.java
similarity index 83%
rename from akka-util-java/src/main/java/se/scalablesolutions/akka/nio/protobuf/RemoteProtocol.java
rename to akka-util-java/src/main/java/se/scalablesolutions/akka/remote/protobuf/RemoteProtocol.java
index 0386755ba5..f8ee893393 100644
--- a/akka-util-java/src/main/java/se/scalablesolutions/akka/nio/protobuf/RemoteProtocol.java
+++ b/akka-util-java/src/main/java/se/scalablesolutions/akka/remote/protobuf/RemoteProtocol.java
@@ -1,6 +1,6 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 
-package se.scalablesolutions.akka.nio.protobuf;
+package se.scalablesolutions.akka.remote.protobuf;
 
 public final class RemoteProtocol {
   private RemoteProtocol() {}
@@ -23,12 +23,12 @@ public final class RemoteProtocol {
     
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
-      return se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.internal_static_se_scalablesolutions_akka_nio_protobuf_RemoteRequest_descriptor;
+      return se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.internal_static_se_scalablesolutions_akka_remote_protobuf_RemoteRequest_descriptor;
     }
     
     protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
         internalGetFieldAccessorTable() {
-      return se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.internal_static_se_scalablesolutions_akka_nio_protobuf_RemoteRequest_fieldAccessorTable;
+      return se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.internal_static_se_scalablesolutions_akka_remote_protobuf_RemoteRequest_fieldAccessorTable;
     }
     
     // required uint64 id = 1;
@@ -284,57 +284,57 @@ public final class RemoteProtocol {
       return size;
     }
     
-    public static se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest parseFrom(
+    public static se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return newBuilder().mergeFrom(data).buildParsed();
     }
-    public static se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest parseFrom(
+    public static se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest parseFrom(
         com.google.protobuf.ByteString data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return newBuilder().mergeFrom(data, extensionRegistry)
                .buildParsed();
     }
-    public static se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest parseFrom(byte[] data)
+    public static se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest parseFrom(byte[] data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return newBuilder().mergeFrom(data).buildParsed();
     }
-    public static se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest parseFrom(
+    public static se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest parseFrom(
         byte[] data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return newBuilder().mergeFrom(data, extensionRegistry)
                .buildParsed();
     }
-    public static se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest parseFrom(java.io.InputStream input)
+    public static se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest parseFrom(java.io.InputStream input)
         throws java.io.IOException {
       return newBuilder().mergeFrom(input).buildParsed();
     }
-    public static se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest parseFrom(
+    public static se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
       return newBuilder().mergeFrom(input, extensionRegistry)
                .buildParsed();
     }
-    public static se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest parseDelimitedFrom(java.io.InputStream input)
+    public static se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
       return newBuilder().mergeDelimitedFrom(input).buildParsed();
     }
-    public static se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest parseDelimitedFrom(
+    public static se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
       return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
                .buildParsed();
     }
-    public static se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest parseFrom(
+    public static se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
       return newBuilder().mergeFrom(input).buildParsed();
     }
-    public static se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest parseFrom(
+    public static se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
@@ -344,25 +344,25 @@ public final class RemoteProtocol {
     
     public static Builder newBuilder() { return Builder.create(); }
     public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest prototype) {
+    public static Builder newBuilder(se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest prototype) {
       return newBuilder().mergeFrom(prototype);
     }
     public Builder toBuilder() { return newBuilder(this); }
     
     public static final class Builder extends
         com.google.protobuf.GeneratedMessage.Builder {
-      private se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest result;
+      private se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest result;
       
-      // Construct using se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest.newBuilder()
+      // Construct using se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest.newBuilder()
       private Builder() {}
       
       private static Builder create() {
         Builder builder = new Builder();
-        builder.result = new se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest();
+        builder.result = new se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest();
         return builder;
       }
       
-      protected se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest internalGetResult() {
+      protected se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest internalGetResult() {
         return result;
       }
       
@@ -371,7 +371,7 @@ public final class RemoteProtocol {
           throw new IllegalStateException(
             "Cannot call clear() after build().");
         }
-        result = new se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest();
+        result = new se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest();
         return this;
       }
       
@@ -381,24 +381,24 @@ public final class RemoteProtocol {
       
       public com.google.protobuf.Descriptors.Descriptor
           getDescriptorForType() {
-        return se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest.getDescriptor();
+        return se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest.getDescriptor();
       }
       
-      public se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest getDefaultInstanceForType() {
-        return se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest.getDefaultInstance();
+      public se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest getDefaultInstanceForType() {
+        return se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest.getDefaultInstance();
       }
       
       public boolean isInitialized() {
         return result.isInitialized();
       }
-      public se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest build() {
+      public se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest build() {
         if (result != null && !isInitialized()) {
           throw newUninitializedMessageException(result);
         }
         return buildPartial();
       }
       
-      private se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest buildParsed()
+      private se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest buildParsed()
           throws com.google.protobuf.InvalidProtocolBufferException {
         if (!isInitialized()) {
           throw newUninitializedMessageException(
@@ -407,27 +407,27 @@ public final class RemoteProtocol {
         return buildPartial();
       }
       
-      public se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest buildPartial() {
+      public se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest buildPartial() {
         if (result == null) {
           throw new IllegalStateException(
             "build() has already been called on this Builder.");
         }
-        se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest returnMe = result;
+        se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest returnMe = result;
         result = null;
         return returnMe;
       }
       
       public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest) {
-          return mergeFrom((se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest)other);
+        if (other instanceof se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest) {
+          return mergeFrom((se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest)other);
         } else {
           super.mergeFrom(other);
           return this;
         }
       }
       
-      public Builder mergeFrom(se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest other) {
-        if (other == se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest.getDefaultInstance()) return this;
+      public Builder mergeFrom(se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest other) {
+        if (other == se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest.getDefaultInstance()) return this;
         if (other.hasId()) {
           setId(other.getId());
         }
@@ -887,11 +887,11 @@ public final class RemoteProtocol {
     }
     
     static {
-      se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.getDescriptor();
+      se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.getDescriptor();
     }
     
     static {
-      se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.internalForceInit();
+      se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.internalForceInit();
     }
   }
   
@@ -911,12 +911,12 @@ public final class RemoteProtocol {
     
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
-      return se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.internal_static_se_scalablesolutions_akka_nio_protobuf_RemoteReply_descriptor;
+      return se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.internal_static_se_scalablesolutions_akka_remote_protobuf_RemoteReply_descriptor;
     }
     
     protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
         internalGetFieldAccessorTable() {
-      return se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.internal_static_se_scalablesolutions_akka_nio_protobuf_RemoteReply_fieldAccessorTable;
+      return se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.internal_static_se_scalablesolutions_akka_remote_protobuf_RemoteReply_fieldAccessorTable;
     }
     
     // required uint64 id = 1;
@@ -1054,57 +1054,57 @@ public final class RemoteProtocol {
       return size;
     }
     
-    public static se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply parseFrom(
+    public static se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return newBuilder().mergeFrom(data).buildParsed();
     }
-    public static se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply parseFrom(
+    public static se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply parseFrom(
         com.google.protobuf.ByteString data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return newBuilder().mergeFrom(data, extensionRegistry)
                .buildParsed();
     }
-    public static se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply parseFrom(byte[] data)
+    public static se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply parseFrom(byte[] data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return newBuilder().mergeFrom(data).buildParsed();
     }
-    public static se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply parseFrom(
+    public static se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply parseFrom(
         byte[] data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return newBuilder().mergeFrom(data, extensionRegistry)
                .buildParsed();
     }
-    public static se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply parseFrom(java.io.InputStream input)
+    public static se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply parseFrom(java.io.InputStream input)
         throws java.io.IOException {
       return newBuilder().mergeFrom(input).buildParsed();
     }
-    public static se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply parseFrom(
+    public static se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
       return newBuilder().mergeFrom(input, extensionRegistry)
                .buildParsed();
     }
-    public static se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply parseDelimitedFrom(java.io.InputStream input)
+    public static se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
       return newBuilder().mergeDelimitedFrom(input).buildParsed();
     }
-    public static se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply parseDelimitedFrom(
+    public static se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
       return newBuilder().mergeDelimitedFrom(input, extensionRegistry)
                .buildParsed();
     }
-    public static se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply parseFrom(
+    public static se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
       return newBuilder().mergeFrom(input).buildParsed();
     }
-    public static se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply parseFrom(
+    public static se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
@@ -1114,25 +1114,25 @@ public final class RemoteProtocol {
     
     public static Builder newBuilder() { return Builder.create(); }
     public Builder newBuilderForType() { return newBuilder(); }
-    public static Builder newBuilder(se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply prototype) {
+    public static Builder newBuilder(se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply prototype) {
       return newBuilder().mergeFrom(prototype);
     }
     public Builder toBuilder() { return newBuilder(this); }
     
     public static final class Builder extends
         com.google.protobuf.GeneratedMessage.Builder {
-      private se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply result;
+      private se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply result;
       
-      // Construct using se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply.newBuilder()
+      // Construct using se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply.newBuilder()
       private Builder() {}
       
       private static Builder create() {
         Builder builder = new Builder();
-        builder.result = new se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply();
+        builder.result = new se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply();
         return builder;
       }
       
-      protected se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply internalGetResult() {
+      protected se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply internalGetResult() {
         return result;
       }
       
@@ -1141,7 +1141,7 @@ public final class RemoteProtocol {
           throw new IllegalStateException(
             "Cannot call clear() after build().");
         }
-        result = new se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply();
+        result = new se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply();
         return this;
       }
       
@@ -1151,24 +1151,24 @@ public final class RemoteProtocol {
       
       public com.google.protobuf.Descriptors.Descriptor
           getDescriptorForType() {
-        return se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply.getDescriptor();
+        return se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply.getDescriptor();
       }
       
-      public se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply getDefaultInstanceForType() {
-        return se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply.getDefaultInstance();
+      public se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply getDefaultInstanceForType() {
+        return se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply.getDefaultInstance();
       }
       
       public boolean isInitialized() {
         return result.isInitialized();
       }
-      public se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply build() {
+      public se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply build() {
         if (result != null && !isInitialized()) {
           throw newUninitializedMessageException(result);
         }
         return buildPartial();
       }
       
-      private se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply buildParsed()
+      private se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply buildParsed()
           throws com.google.protobuf.InvalidProtocolBufferException {
         if (!isInitialized()) {
           throw newUninitializedMessageException(
@@ -1177,27 +1177,27 @@ public final class RemoteProtocol {
         return buildPartial();
       }
       
-      public se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply buildPartial() {
+      public se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply buildPartial() {
         if (result == null) {
           throw new IllegalStateException(
             "build() has already been called on this Builder.");
         }
-        se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply returnMe = result;
+        se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply returnMe = result;
         result = null;
         return returnMe;
       }
       
       public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply) {
-          return mergeFrom((se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply)other);
+        if (other instanceof se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply) {
+          return mergeFrom((se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply)other);
         } else {
           super.mergeFrom(other);
           return this;
         }
       }
       
-      public Builder mergeFrom(se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply other) {
-        if (other == se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply.getDefaultInstance()) return this;
+      public Builder mergeFrom(se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply other) {
+        if (other == se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply.getDefaultInstance()) return this;
         if (other.hasId()) {
           setId(other.getId());
         }
@@ -1442,24 +1442,24 @@ public final class RemoteProtocol {
     }
     
     static {
-      se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.getDescriptor();
+      se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.getDescriptor();
     }
     
     static {
-      se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.internalForceInit();
+      se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.internalForceInit();
     }
   }
   
   private static com.google.protobuf.Descriptors.Descriptor
-    internal_static_se_scalablesolutions_akka_nio_protobuf_RemoteRequest_descriptor;
+    internal_static_se_scalablesolutions_akka_remote_protobuf_RemoteRequest_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_se_scalablesolutions_akka_nio_protobuf_RemoteRequest_fieldAccessorTable;
+      internal_static_se_scalablesolutions_akka_remote_protobuf_RemoteRequest_fieldAccessorTable;
   private static com.google.protobuf.Descriptors.Descriptor
-    internal_static_se_scalablesolutions_akka_nio_protobuf_RemoteReply_descriptor;
+    internal_static_se_scalablesolutions_akka_remote_protobuf_RemoteReply_descriptor;
   private static
     com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_se_scalablesolutions_akka_nio_protobuf_RemoteReply_fieldAccessorTable;
+      internal_static_se_scalablesolutions_akka_remote_protobuf_RemoteReply_fieldAccessorTable;
   
   public static com.google.protobuf.Descriptors.FileDescriptor
       getDescriptor() {
@@ -1469,43 +1469,43 @@ public final class RemoteProtocol {
       descriptor;
   static {
     java.lang.String[] descriptorData = {
-      "\n;se/scalablesolutions/akka/nio/protobuf" +
-      "/RemoteProtocol.proto\022&se.scalablesoluti" +
-      "ons.akka.nio.protobuf\"\272\002\n\rRemoteRequest\022" +
-      "\n\n\002id\030\001 \002(\004\022\020\n\010protocol\030\002 \002(\r\022\017\n\007message" +
-      "\030\003 \002(\014\022\027\n\017messageManifest\030\004 \001(\014\022\016\n\006metho" +
-      "d\030\005 \001(\t\022\016\n\006target\030\006 \002(\t\022\014\n\004uuid\030\007 \002(\t\022\017\n" +
-      "\007timeout\030\010 \002(\004\022\026\n\016supervisorUuid\030\t \001(\t\022\017" +
-      "\n\007isActor\030\n \002(\010\022\020\n\010isOneWay\030\013 \002(\010\022\021\n\tisE" +
-      "scaped\030\014 \002(\010\022\026\n\016sourceHostname\030\r \001(\t\022\022\n\n" +
-      "sourcePort\030\016 \001(\r\022\024\n\014sourceTarget\030\017 \001(\t\022\022",
-      "\n\nsourceUuid\030\020 \001(\t\"\247\001\n\013RemoteReply\022\n\n\002id" +
-      "\030\001 \002(\004\022\020\n\010protocol\030\002 \001(\r\022\017\n\007message\030\003 \001(" +
-      "\014\022\027\n\017messageManifest\030\004 \001(\014\022\021\n\texception\030" +
-      "\005 \001(\t\022\026\n\016supervisorUuid\030\006 \001(\t\022\017\n\007isActor" +
-      "\030\007 \002(\010\022\024\n\014isSuccessful\030\010 \002(\010"
+      "\n>se/scalablesolutions/akka/remote/proto" +
+      "buf/RemoteProtocol.proto\022)se.scalablesol" +
+      "utions.akka.remote.protobuf\"\272\002\n\rRemoteRe" +
+      "quest\022\n\n\002id\030\001 \002(\004\022\020\n\010protocol\030\002 \002(\r\022\017\n\007m" +
+      "essage\030\003 \002(\014\022\027\n\017messageManifest\030\004 \001(\014\022\016\n" +
+      "\006method\030\005 \001(\t\022\016\n\006target\030\006 \002(\t\022\014\n\004uuid\030\007 " +
+      "\002(\t\022\017\n\007timeout\030\010 \002(\004\022\026\n\016supervisorUuid\030\t" +
+      " \001(\t\022\017\n\007isActor\030\n \002(\010\022\020\n\010isOneWay\030\013 \002(\010\022" +
+      "\021\n\tisEscaped\030\014 \002(\010\022\026\n\016sourceHostname\030\r \001" +
+      "(\t\022\022\n\nsourcePort\030\016 \001(\r\022\024\n\014sourceTarget\030\017",
+      " \001(\t\022\022\n\nsourceUuid\030\020 \001(\t\"\247\001\n\013RemoteReply" +
+      "\022\n\n\002id\030\001 \002(\004\022\020\n\010protocol\030\002 \001(\r\022\017\n\007messag" +
+      "e\030\003 \001(\014\022\027\n\017messageManifest\030\004 \001(\014\022\021\n\texce" +
+      "ption\030\005 \001(\t\022\026\n\016supervisorUuid\030\006 \001(\t\022\017\n\007i" +
+      "sActor\030\007 \002(\010\022\024\n\014isSuccessful\030\010 \002(\010"
     };
     com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
       new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
         public com.google.protobuf.ExtensionRegistry assignDescriptors(
             com.google.protobuf.Descriptors.FileDescriptor root) {
           descriptor = root;
-          internal_static_se_scalablesolutions_akka_nio_protobuf_RemoteRequest_descriptor =
+          internal_static_se_scalablesolutions_akka_remote_protobuf_RemoteRequest_descriptor =
             getDescriptor().getMessageTypes().get(0);
-          internal_static_se_scalablesolutions_akka_nio_protobuf_RemoteRequest_fieldAccessorTable = new
+          internal_static_se_scalablesolutions_akka_remote_protobuf_RemoteRequest_fieldAccessorTable = new
             com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-              internal_static_se_scalablesolutions_akka_nio_protobuf_RemoteRequest_descriptor,
+              internal_static_se_scalablesolutions_akka_remote_protobuf_RemoteRequest_descriptor,
               new java.lang.String[] { "Id", "Protocol", "Message", "MessageManifest", "Method", "Target", "Uuid", "Timeout", "SupervisorUuid", "IsActor", "IsOneWay", "IsEscaped", "SourceHostname", "SourcePort", "SourceTarget", "SourceUuid", },
-              se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest.class,
-              se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest.Builder.class);
-          internal_static_se_scalablesolutions_akka_nio_protobuf_RemoteReply_descriptor =
+              se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest.class,
+              se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest.Builder.class);
+          internal_static_se_scalablesolutions_akka_remote_protobuf_RemoteReply_descriptor =
             getDescriptor().getMessageTypes().get(1);
-          internal_static_se_scalablesolutions_akka_nio_protobuf_RemoteReply_fieldAccessorTable = new
+          internal_static_se_scalablesolutions_akka_remote_protobuf_RemoteReply_fieldAccessorTable = new
             com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-              internal_static_se_scalablesolutions_akka_nio_protobuf_RemoteReply_descriptor,
+              internal_static_se_scalablesolutions_akka_remote_protobuf_RemoteReply_descriptor,
               new java.lang.String[] { "Id", "Protocol", "Message", "MessageManifest", "Exception", "SupervisorUuid", "IsActor", "IsSuccessful", },
-              se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply.class,
-              se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteReply.Builder.class);
+              se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply.class,
+              se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteReply.Builder.class);
           return null;
         }
       };
diff --git a/akka-util-java/src/main/java/se/scalablesolutions/akka/nio/protobuf/RemoteProtocol.proto b/akka-util-java/src/main/java/se/scalablesolutions/akka/remote/protobuf/RemoteProtocol.proto
similarity index 87%
rename from akka-util-java/src/main/java/se/scalablesolutions/akka/nio/protobuf/RemoteProtocol.proto
rename to akka-util-java/src/main/java/se/scalablesolutions/akka/remote/protobuf/RemoteProtocol.proto
index b3d45beb6f..9db007fd5b 100644
--- a/akka-util-java/src/main/java/se/scalablesolutions/akka/nio/protobuf/RemoteProtocol.proto
+++ b/akka-util-java/src/main/java/se/scalablesolutions/akka/remote/protobuf/RemoteProtocol.proto
@@ -2,12 +2,12 @@
  * Copyright (C) 2009 Scalable Solutions.
  */
 
-package se.scalablesolutions.akka.nio.protobuf;
+package se.scalablesolutions.akka.remote.protobuf;
 
 /*
   Compile with:
   cd ./akka-util-java/src/main/java
-  protoc se/scalablesolutions/akka/nio/protobuf/RemoteProtocol.proto --java_out .
+  protoc se/scalablesolutions/akka/remote/protobuf/RemoteProtocol.proto --java_out .
 */
 
 message RemoteRequest {
diff --git a/docs/scaladocs-akka-actors/actor/ActiveObject.scala.html b/docs/scaladocs-akka-actors/actor/ActiveObject.scala.html
index 2cc8b693e2..24138829b4 100644
--- a/docs/scaladocs-akka-actors/actor/ActiveObject.scala.html
+++ b/docs/scaladocs-akka-actors/actor/ActiveObject.scala.html
@@ -15,8 +15,8 @@ package se.scalablesolutions.akka.actor
 import java.net.InetSocketAddress
 
 import se.scalablesolutions.akka.dispatch.{MessageDispatcher, FutureResult}
-import se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest
-import se.scalablesolutions.akka.nio.{RemoteProtocolBuilder, RemoteClient, RemoteRequestIdFactory}
+import se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest
+import se.scalablesolutions.akka.remote.{RemoteProtocolBuilder, RemoteClient, RemoteRequestIdFactory}
 import se.scalablesolutions.akka.config.ScalaConfig._
 import se.scalablesolutions.akka.util._
 
diff --git a/docs/scaladocs-akka-actors/actor/Actor.scala.html b/docs/scaladocs-akka-actors/actor/Actor.scala.html
index 646df38c48..ab5ce9b293 100644
--- a/docs/scaladocs-akka-actors/actor/Actor.scala.html
+++ b/docs/scaladocs-akka-actors/actor/Actor.scala.html
@@ -21,8 +21,8 @@ import se.scalablesolutions.akka.config.ScalaConfig._
 import se.scalablesolutions.akka.stm.Transaction._
 import se.scalablesolutions.akka.stm.TransactionManagement._
 import se.scalablesolutions.akka.stm.{StmException, TransactionManagement}
-import se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.RemoteRequest
-import se.scalablesolutions.akka.nio.{RemoteProtocolBuilder, RemoteClient, RemoteRequestIdFactory}
+import se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.RemoteRequest
+import se.scalablesolutions.akka.remote.{RemoteProtocolBuilder, RemoteClient, RemoteRequestIdFactory}
 import se.scalablesolutions.akka.serialization.Serializer
 import se.scalablesolutions.akka.util.Helpers.ReadWriteLock
 import se.scalablesolutions.akka.util.Logging
diff --git a/docs/scaladocs-akka-actors/all-classes.html b/docs/scaladocs-akka-actors/all-classes.html
index 6bc73b5105..edbb5c78a0 100644
--- a/docs/scaladocs-akka-actors/all-classes.html
+++ b/docs/scaladocs-akka-actors/all-classes.html
@@ -17,7 +17,7 @@
       

Filters

Class @@ -35,7 +35,7 @@

Classes

diff --git a/docs/scaladocs-akka-actors/nio/RemoteClient.scala.html b/docs/scaladocs-akka-actors/nio/RemoteClient.scala.html index 1fff78379b..9f1656a7df 100644 --- a/docs/scaladocs-akka-actors/nio/RemoteClient.scala.html +++ b/docs/scaladocs-akka-actors/nio/RemoteClient.scala.html @@ -10,7 +10,7 @@ * Copyright (C) 2009 Scalable Solutions. */ -package se.scalablesolutions.akka.nio +package se.scalablesolutions.akka.remote import scala.collection.mutable.HashMap diff --git a/docs/scaladocs-akka-actors/nio/RemoteProtocolBuilder.scala.html b/docs/scaladocs-akka-actors/nio/RemoteProtocolBuilder.scala.html index 8afbfb65ee..8d628992a2 100644 --- a/docs/scaladocs-akka-actors/nio/RemoteProtocolBuilder.scala.html +++ b/docs/scaladocs-akka-actors/nio/RemoteProtocolBuilder.scala.html @@ -10,7 +10,7 @@ * Copyright (C) 2009 Scalable Solutions. */ -package se.scalablesolutions.akka.nio +package se.scalablesolutions.akka.remote import akka.serialization.Serializable.SBinary import com.google.protobuf.{Message, ByteString} diff --git a/docs/scaladocs-akka-actors/nio/RemoteServer.scala.html b/docs/scaladocs-akka-actors/nio/RemoteServer.scala.html index 503b51a17e..8ee8d8c6e0 100644 --- a/docs/scaladocs-akka-actors/nio/RemoteServer.scala.html +++ b/docs/scaladocs-akka-actors/nio/RemoteServer.scala.html @@ -10,7 +10,7 @@ * Copyright (C) 2009 Scalable Solutions. */ -package se.scalablesolutions.akka.nio +package se.scalablesolutions.akka.remote import java.lang.reflect.InvocationTargetException import java.net.InetSocketAddress @@ -18,7 +18,7 @@ import java.util.concurrent.{ConcurrentHashMap, Executors} import se.scalablesolutions.akka.actor._ import se.scalablesolutions.akka.util._ -import se.scalablesolutions.akka.nio.protobuf.RemoteProtocol.{RemoteReply, RemoteRequest} +import se.scalablesolutions.akka.remote.protobuf.RemoteProtocol.{RemoteReply, RemoteRequest} import se.scalablesolutions.akka.Config.config import org.jboss.netty.bootstrap.ServerBootstrap diff --git a/docs/scaladocs-akka-actors/nio/RequestReply.scala.html b/docs/scaladocs-akka-actors/nio/RequestReply.scala.html index dd078d1953..a63d2dd08d 100644 --- a/docs/scaladocs-akka-actors/nio/RequestReply.scala.html +++ b/docs/scaladocs-akka-actors/nio/RequestReply.scala.html @@ -10,7 +10,7 @@ * Copyright (C) 2009 Scalable Solutions. */ -package se.scalablesolutions.akka.nio +package se.scalablesolutions.akka.remote import java.util.concurrent.atomic.AtomicLong import stm.Transaction diff --git a/docs/scaladocs-akka-actors/overview.html b/docs/scaladocs-akka-actors/overview.html index a7ab60ee38..eba3dd1aaf 100644 --- a/docs/scaladocs-akka-actors/overview.html +++ b/docs/scaladocs-akka-actors/overview.html @@ -64,7 +64,7 @@ -
se.scalablesolutions.akka.nio
+
se.scalablesolutions.akka.remote
diff --git a/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteClient$object.html b/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteClient$object.html index 74ae637dcc..229767a175 100644 --- a/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteClient$object.html +++ b/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteClient$object.html @@ -2,7 +2,7 @@ - Akka Actors Module 0.6 API : se.scalablesolutions.akka.nio.RemoteClient + Akka Actors Module 0.6 API : se.scalablesolutions.akka.remote.RemoteClient @@ -23,7 +23,7 @@ OVERVIEW |  - PACKAGE | + PACKAGE | CONSTR |  FIELDS |  METHODS @@ -40,7 +40,7 @@

- se.scalablesolutions.akka.nio.RemoteClient + se.scalablesolutions.akka.remote.RemoteClient

object RemoteClient

@@ -59,7 +59,7 @@


- Companion: RemoteClient

+ Companion: RemoteClient

Source: RemoteClient.scala(29)
@@ -213,7 +213,7 @@ - RemoteClient + RemoteClient @@ -440,7 +440,7 @@ OVERVIEW |  - PACKAGE | + PACKAGE | CONSTR |  FIELDS |  METHODS diff --git a/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteClient.html b/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteClient.html index 0ffff2010e..087759b398 100644 --- a/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteClient.html +++ b/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteClient.html @@ -2,7 +2,7 @@ - Akka Actors Module 0.6 API : se.scalablesolutions.akka.nio.RemoteClient + Akka Actors Module 0.6 API : se.scalablesolutions.akka.remote.RemoteClient @@ -23,7 +23,7 @@ OVERVIEW |  - PACKAGE | + PACKAGE | CONSTR |  FIELDS |  METHODS @@ -40,7 +40,7 @@

- se.scalablesolutions.akka.nio.RemoteClient + se.scalablesolutions.akka.remote.RemoteClient

class RemoteClient

@@ -59,7 +59,7 @@

- Companion: RemoteClient

+ Companion: RemoteClient

Source: RemoteClient.scala(54) @@ -388,10 +388,10 @@ - send.. + send.. - def send(request : RemoteRequest) + def send(request : RemoteRequest) @@ -496,7 +496,7 @@ OVERVIEW |  - PACKAGE | + PACKAGE | CONSTR |  FIELDS |  METHODS diff --git a/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteClientHandler.html b/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteClientHandler.html index 4914547b53..5104d9cb58 100644 --- a/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteClientHandler.html +++ b/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteClientHandler.html @@ -2,7 +2,7 @@ - Akka Actors Module 0.6 API : se.scalablesolutions.akka.nio.RemoteClientHandler + Akka Actors Module 0.6 API : se.scalablesolutions.akka.remote.RemoteClientHandler @@ -23,7 +23,7 @@ OVERVIEW |  - PACKAGE | + PACKAGE | CONSTR |  FIELDS |  METHODS @@ -40,7 +40,7 @@

- se.scalablesolutions.akka.nio.RemoteClientHandler + se.scalablesolutions.akka.remote.RemoteClientHandler

class RemoteClientHandler

@@ -580,7 +580,7 @@ OVERVIEW |  - PACKAGE | + PACKAGE | CONSTR |  FIELDS |  METHODS diff --git a/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteClientPipelineFactory.html b/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteClientPipelineFactory.html index 99dd289efd..9979755c4e 100644 --- a/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteClientPipelineFactory.html +++ b/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteClientPipelineFactory.html @@ -2,7 +2,7 @@ - Akka Actors Module 0.6 API : se.scalablesolutions.akka.nio.RemoteClientPipelineFactory + Akka Actors Module 0.6 API : se.scalablesolutions.akka.remote.RemoteClientPipelineFactory @@ -23,7 +23,7 @@ OVERVIEW |  - PACKAGE | + PACKAGE | CONSTR |  FIELDS |  METHODS @@ -40,7 +40,7 @@

- se.scalablesolutions.akka.nio.RemoteClientPipelineFactory + se.scalablesolutions.akka.remote.RemoteClientPipelineFactory

class RemoteClientPipelineFactory

@@ -390,7 +390,7 @@ OVERVIEW |  - PACKAGE | + PACKAGE | CONSTR |  FIELDS |  METHODS diff --git a/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteProtocolBuilder$object.html b/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteProtocolBuilder$object.html index 23bfbb25b0..7414fc3fdb 100644 --- a/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteProtocolBuilder$object.html +++ b/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteProtocolBuilder$object.html @@ -2,7 +2,7 @@ - Akka Actors Module 0.6 API : se.scalablesolutions.akka.nio.RemoteProtocolBuilder + Akka Actors Module 0.6 API : se.scalablesolutions.akka.remote.RemoteProtocolBuilder @@ -23,7 +23,7 @@ OVERVIEW |  - PACKAGE | + PACKAGE | CONSTR |  FIELDS |  METHODS @@ -40,7 +40,7 @@

- se.scalablesolutions.akka.nio.RemoteProtocolBuilder + se.scalablesolutions.akka.remote.RemoteProtocolBuilder

object RemoteProtocolBuilder

@@ -224,10 +224,10 @@ - getMessage.. + getMessage.. - def getMessage(reply : RemoteReply) + def getMessage(reply : RemoteReply) @@ -238,10 +238,10 @@ - getMessage.. + getMessage.. - def getMessage(request : RemoteRequest) + def getMessage(request : RemoteRequest) @@ -322,28 +322,28 @@ - setMessage.. + setMessage.. - def setMessage(message : Object, builder : Builder) + def setMessage(message : Object, builder : Builder) - Builder + Builder - setMessage.. + setMessage.. - def setMessage(message : Object, builder : Builder) + def setMessage(message : Object, builder : Builder) - Builder + Builder @@ -430,7 +430,7 @@ OVERVIEW |  - PACKAGE | + PACKAGE | CONSTR |  FIELDS |  METHODS diff --git a/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteRequestIdFactory$object.html b/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteRequestIdFactory$object.html index ac46ff8eb3..02f7ca5815 100644 --- a/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteRequestIdFactory$object.html +++ b/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteRequestIdFactory$object.html @@ -2,7 +2,7 @@ - Akka Actors Module 0.6 API : se.scalablesolutions.akka.nio.RemoteRequestIdFactory + Akka Actors Module 0.6 API : se.scalablesolutions.akka.remote.RemoteRequestIdFactory @@ -23,7 +23,7 @@ OVERVIEW |  - PACKAGE | + PACKAGE | CONSTR |  FIELDS |  METHODS @@ -40,7 +40,7 @@

- se.scalablesolutions.akka.nio.RemoteRequestIdFactory + se.scalablesolutions.akka.remote.RemoteRequestIdFactory

object RemoteRequestIdFactory

@@ -392,7 +392,7 @@ OVERVIEW |  - PACKAGE | + PACKAGE | CONSTR |  FIELDS |  METHODS diff --git a/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteServer$object.html b/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteServer$object.html index ca03ada2f5..cb3620be25 100644 --- a/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteServer$object.html +++ b/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteServer$object.html @@ -2,7 +2,7 @@ - Akka Actors Module 0.6 API : se.scalablesolutions.akka.nio.RemoteServer + Akka Actors Module 0.6 API : se.scalablesolutions.akka.remote.RemoteServer @@ -23,7 +23,7 @@ OVERVIEW |  - PACKAGE | + PACKAGE | CONSTR |  FIELDS |  METHODS @@ -40,7 +40,7 @@

- se.scalablesolutions.akka.nio.RemoteServer + se.scalablesolutions.akka.remote.RemoteServer

object RemoteServer

@@ -510,7 +510,7 @@ OVERVIEW |  - PACKAGE | + PACKAGE | CONSTR |  FIELDS |  METHODS diff --git a/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteServerHandler.html b/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteServerHandler.html index 70071c45c7..14d11d9fdb 100644 --- a/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteServerHandler.html +++ b/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteServerHandler.html @@ -2,7 +2,7 @@ - Akka Actors Module 0.6 API : se.scalablesolutions.akka.nio.RemoteServerHandler + Akka Actors Module 0.6 API : se.scalablesolutions.akka.remote.RemoteServerHandler @@ -23,7 +23,7 @@ OVERVIEW |  - PACKAGE | + PACKAGE | CONSTR |  FIELDS |  METHODS @@ -40,7 +40,7 @@

- se.scalablesolutions.akka.nio.RemoteServerHandler + se.scalablesolutions.akka.remote.RemoteServerHandler

class RemoteServerHandler

@@ -580,7 +580,7 @@ OVERVIEW |  - PACKAGE | + PACKAGE | CONSTR |  FIELDS |  METHODS diff --git a/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteServerPipelineFactory.html b/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteServerPipelineFactory.html index 53f1eb9b9d..d606bb3eaa 100644 --- a/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteServerPipelineFactory.html +++ b/docs/scaladocs-akka-actors/se/scalablesolutions/akka/nio/RemoteServerPipelineFactory.html @@ -2,7 +2,7 @@ - Akka Actors Module 0.6 API : se.scalablesolutions.akka.nio.RemoteServerPipelineFactory + Akka Actors Module 0.6 API : se.scalablesolutions.akka.remote.RemoteServerPipelineFactory @@ -23,7 +23,7 @@ OVERVIEW |  - PACKAGE | + PACKAGE | CONSTR |  FIELDS |  METHODS @@ -40,7 +40,7 @@

- se.scalablesolutions.akka.nio.RemoteServerPipelineFactory + se.scalablesolutions.akka.remote.RemoteServerPipelineFactory

class RemoteServerPipelineFactory

@@ -390,7 +390,7 @@ OVERVIEW |  - PACKAGE | + PACKAGE | CONSTR |  FIELDS |  METHODS diff --git a/embedded-repo/com/mongodb/mongo/0.6/mongo-0.6.jar b/embedded-repo/com/mongodb/mongo/0.6/mongo-0.6.jar deleted file mode 100644 index 444a5c6667..0000000000 Binary files a/embedded-repo/com/mongodb/mongo/0.6/mongo-0.6.jar and /dev/null differ diff --git a/embedded-repo/high-scale-lib/high-scale-lib/1.0/high-scale-lib-1.0.jar b/embedded-repo/high-scale-lib/high-scale-lib/1.0/high-scale-lib-1.0.jar deleted file mode 100644 index 421a436eed..0000000000 Binary files a/embedded-repo/high-scale-lib/high-scale-lib/1.0/high-scale-lib-1.0.jar and /dev/null differ diff --git a/embedded-repo/org/apache/camel/camel-core/2.0-SNAPSHOT/camel-core-2.0-SNAPSHOT.jar b/embedded-repo/org/apache/camel/camel-core/2.0-SNAPSHOT/camel-core-2.0-SNAPSHOT.jar deleted file mode 100644 index 61b8015a70..0000000000 Binary files a/embedded-repo/org/apache/camel/camel-core/2.0-SNAPSHOT/camel-core-2.0-SNAPSHOT.jar and /dev/null differ diff --git a/embedded-repo/org/apache/camel/camel-core/2.0-SNAPSHOT/camel-core-2.0-SNAPSHOT.pom b/embedded-repo/org/apache/camel/camel-core/2.0-SNAPSHOT/camel-core-2.0-SNAPSHOT.pom deleted file mode 100644 index 35af36dcb7..0000000000 --- a/embedded-repo/org/apache/camel/camel-core/2.0-SNAPSHOT/camel-core-2.0-SNAPSHOT.pom +++ /dev/null @@ -1,8 +0,0 @@ - - - 4.0.0 - org.apache.camel - camel-core - 2.0-SNAPSHOT - jar - \ No newline at end of file diff --git a/embedded-repo/org/apache/zookeeper/3.1.0/zookeeper-3.1.0.jar b/embedded-repo/org/apache/zookeeper/3.1.0/zookeeper-3.1.0.jar deleted file mode 100644 index b7e639e63a..0000000000 Binary files a/embedded-repo/org/apache/zookeeper/3.1.0/zookeeper-3.1.0.jar and /dev/null differ diff --git a/embedded-repo/org/apache/zookeeper/3.1.0/zookeeper-3.1.0.pom b/embedded-repo/org/apache/zookeeper/3.1.0/zookeeper-3.1.0.pom deleted file mode 100755 index dcf681ab33..0000000000 --- a/embedded-repo/org/apache/zookeeper/3.1.0/zookeeper-3.1.0.pom +++ /dev/null @@ -1,8 +0,0 @@ - - - 4.0.0 - org.apache - zookeeper - 3.1.0 - jar - \ No newline at end of file diff --git a/embedded-repo/org/codehaus/jackson/jackson-core-asl/1.1.0/jackson-core-asl-1.1.0.jar b/embedded-repo/org/codehaus/jackson/jackson-core-asl/1.1.0/jackson-core-asl-1.1.0.jar deleted file mode 100644 index 6b561dd2be..0000000000 Binary files a/embedded-repo/org/codehaus/jackson/jackson-core-asl/1.1.0/jackson-core-asl-1.1.0.jar and /dev/null differ diff --git a/embedded-repo/org/codehaus/jackson/jackson-core-asl/1.1.0/jackson-core-asl-1.1.0.pom b/embedded-repo/org/codehaus/jackson/jackson-core-asl/1.1.0/jackson-core-asl-1.1.0.pom deleted file mode 100644 index 022b2ba772..0000000000 --- a/embedded-repo/org/codehaus/jackson/jackson-core-asl/1.1.0/jackson-core-asl-1.1.0.pom +++ /dev/null @@ -1,8 +0,0 @@ - - - 4.0.0 - org.codehaus.jackson - jackson-core-asl - 1.1.0 - jar - \ No newline at end of file diff --git a/embedded-repo/org/codehaus/jackson/jackson-mapper-asl/1.1.0/jackson-mapper-asl-1.1.0.jar b/embedded-repo/org/codehaus/jackson/jackson-mapper-asl/1.1.0/jackson-mapper-asl-1.1.0.jar deleted file mode 100644 index 1b37ad3772..0000000000 Binary files a/embedded-repo/org/codehaus/jackson/jackson-mapper-asl/1.1.0/jackson-mapper-asl-1.1.0.jar and /dev/null differ diff --git a/embedded-repo/org/codehaus/jackson/jackson-mapper-asl/1.1.0/jackson-mapper-asl-1.1.0.pom b/embedded-repo/org/codehaus/jackson/jackson-mapper-asl/1.1.0/jackson-mapper-asl-1.1.0.pom deleted file mode 100644 index a16880d32e..0000000000 --- a/embedded-repo/org/codehaus/jackson/jackson-mapper-asl/1.1.0/jackson-mapper-asl-1.1.0.pom +++ /dev/null @@ -1,8 +0,0 @@ - - - 4.0.0 - org.codehaus.jackson - jackson-mapper-asl - 1.1.0 - jar - \ No newline at end of file diff --git a/embedded-repo/org/h2/compress/h2-lzf/1.0/h2-lzf-1.0.jar b/embedded-repo/org/h2/compress/h2-lzf/1.0/h2-lzf-1.0.jar deleted file mode 100644 index 620cfb1371..0000000000 Binary files a/embedded-repo/org/h2/compress/h2-lzf/1.0/h2-lzf-1.0.jar and /dev/null differ diff --git a/embedded-repo/voldemort/store/compress/h2-lzf/1.0/h2-lzf-1.0.jar b/embedded-repo/voldemort/store/compress/h2-lzf/1.0/h2-lzf-1.0.jar new file mode 100644 index 0000000000..5d74200e45 Binary files /dev/null and b/embedded-repo/voldemort/store/compress/h2-lzf/1.0/h2-lzf-1.0.jar differ diff --git a/embedded-repo/high-scale-lib/high-scale-lib/1.0/high-scale-lib-1.0.pom b/embedded-repo/voldemort/store/compress/h2-lzf/1.0/h2-lzf-1.0.pom similarity index 80% rename from embedded-repo/high-scale-lib/high-scale-lib/1.0/high-scale-lib-1.0.pom rename to embedded-repo/voldemort/store/compress/h2-lzf/1.0/h2-lzf-1.0.pom index 04bcc9345c..944dfbca28 100644 --- a/embedded-repo/high-scale-lib/high-scale-lib/1.0/high-scale-lib-1.0.pom +++ b/embedded-repo/voldemort/store/compress/h2-lzf/1.0/h2-lzf-1.0.pom @@ -1,8 +1,8 @@ 4.0.0 - high-scale-lib - high-scale-lib + voldemort.store.compress + h2-lzf 1.0 jar \ No newline at end of file diff --git a/embedded-repo/org/h2/compress/h2-lzf/maven-metadata-local.xml b/embedded-repo/voldemort/store/compress/h2-lzf/maven-metadata-local.xml similarity index 100% rename from embedded-repo/org/h2/compress/h2-lzf/maven-metadata-local.xml rename to embedded-repo/voldemort/store/compress/h2-lzf/maven-metadata-local.xml diff --git a/pom.xml b/pom.xml index 141dd3a9b4..1ce39e355b 100755 --- a/pom.xml +++ b/pom.xml @@ -13,12 +13,26 @@ pom - Akka implements a unique hybrid of the Actor model and Software Transactional Memory (STM). - Akka gives you you: - * Concurrency (high-level and simple). - * Asynchronous, non-blocking, event-driven and highly performant components. - * Scalability through very performant remote actors. - * Fault-tolerance through supervision hierarchies with “let-it-crash” semantics. + Akka implements a unique hybrid of: + * Actors , which gives you: + * Simple and high-level abstractions for concurrency and parallelism. + * Asynchronous, non-blocking and highly performant event-driven programming model. + * Very lightweight event-driven processes (create ~6.5 million actors on 4 G RAM). + * Supervision hierarchies with let-it-crash semantics. For writing highly fault-tolerant systems that never stops, systems that self-heals. + * Software Transactional Memory (STM). (Distributed transactions coming soon). + * Transactors: combine actors and STM into transactional actors. Allows you to compose atomic message flows with automatic rollback and retry. + * Remoting: highly performant distributed actors with remote supervision and error management. + * Cluster membership management. + + Akka also has a set of add-on modules: + * Persistence: A set of pluggable back-end storage modules that works in sync with the STM. + * Cassandra distributed and highly scalable database. + * MongoDB document database. + * Redis data structures database (upcoming) + * REST (JAX-RS): Expose actors as REST services. + * Comet: Expose actors as Comet services. + * Security: Digest and Kerberos based security. + * Microkernel: Run Akka as a stand-alone kernel. @@ -39,7 +53,6 @@ akka-actors akka-persistence akka-rest - akka-camel akka-amqp akka-security akka-kernel