Cluster.unsubscribe with class parameter, see #2567

This commit is contained in:
Patrik Nordwall 2012-09-28 13:09:36 +02:00
parent ddde23576f
commit 51ff9ce6d1
4 changed files with 22 additions and 7 deletions

View file

@ -192,7 +192,7 @@ private[cluster] final class ClusterDomainEventPublisher extends Actor with Acto
case currentStats: CurrentInternalStats publishInternalStats(currentStats)
case PublishCurrentClusterState(receiver) publishCurrentClusterState(receiver)
case Subscribe(subscriber, to) subscribe(subscriber, to)
case Unsubscribe(subscriber) unsubscribe(subscriber)
case Unsubscribe(subscriber, to) unsubscribe(subscriber, to)
case PublishDone sender ! PublishDone
}
@ -216,8 +216,10 @@ private[cluster] final class ClusterDomainEventPublisher extends Actor with Acto
eventStream.subscribe(subscriber, to)
}
def unsubscribe(subscriber: ActorRef): Unit =
eventStream.unsubscribe(subscriber)
def unsubscribe(subscriber: ActorRef, to: Option[Class[_]]): Unit = to match {
case None eventStream.unsubscribe(subscriber)
case Some(c) eventStream.unsubscribe(subscriber, c)
}
def publishChanges(oldGossip: Gossip, newGossip: Gossip): Unit = {
// keep the latestGossip to be sent to new subscribers