restructure remoting

- remove Remote, incorporate its few fields into RemoteActorRefProvider
- rename RemoteSupport to RemoteTransport to sync up with conf and
  the way we talk about it
- remove LocalAddress/RemoteAddress etc. and just have a final case
  class Address(protocol, system, host, port)
- split netty settings out or RemoteSettings into NettySettings
- split out from NettyRemoteSupport.scala: Server.scala, Client.scala,
  Settings.scala

plus a few fixes, including using the contextClassLoader when loading
the provider for ActorSystemImpl
This commit is contained in:
Roland 2012-01-20 14:29:50 +01:00
parent 6db3e59ce1
commit edceda8edf
34 changed files with 1415 additions and 1520 deletions

View file

@ -8,6 +8,7 @@ import scala.collection.mutable
import akka.actor.{ LocalActorRef, Actor, ActorRef, Props, newUuid }
import akka.actor.Actor._
import akka.actor.ActorSystemImpl
import akka.actor.Address
/**
* Stream of all kinds of network events, remote failure and connection events, cluster failure and connection events etc.
@ -17,10 +18,10 @@ object NetworkEventStream {
private sealed trait NetworkEventStreamEvent
private case class Register(listener: Listener, connectionAddress: ParsedTransportAddress)
private case class Register(listener: Listener, connectionAddress: Address)
extends NetworkEventStreamEvent
private case class Unregister(listener: Listener, connectionAddress: ParsedTransportAddress)
private case class Unregister(listener: Listener, connectionAddress: Address)
extends NetworkEventStreamEvent
/**
@ -35,8 +36,8 @@ object NetworkEventStream {
*/
private class Channel extends Actor {
val listeners = new mutable.HashMap[ParsedTransportAddress, mutable.Set[Listener]]() {
override def default(k: ParsedTransportAddress) = mutable.Set.empty[Listener]
val listeners = new mutable.HashMap[Address, mutable.Set[Listener]]() {
override def default(k: Address) = mutable.Set.empty[Listener]
}
def receive = {
@ -67,12 +68,12 @@ class NetworkEventStream(system: ActorSystemImpl) {
/**
* Registers a network event stream listener (asyncronously).
*/
def register(listener: Listener, connectionAddress: ParsedTransportAddress) =
def register(listener: Listener, connectionAddress: Address) =
sender ! Register(listener, connectionAddress)
/**
* Unregisters a network event stream listener (asyncronously) .
*/
def unregister(listener: Listener, connectionAddress: ParsedTransportAddress) =
def unregister(listener: Listener, connectionAddress: Address) =
sender ! Unregister(listener, connectionAddress)
}