GroupManager

io.github.positionpal.location.tracking.actors.GroupManager
object GroupManager

An akka sharded actor that manages a group of users, acting as an intermediary between the clients and the RealTimeUserTracker actors that track the users.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Type members

Classlikes

sealed trait ProtocolCommand extends AkkaSerializable

The commands that can be sent to the actor to interact with it.

The commands that can be sent to the actor to interact with it.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
class UnWire
class Wire
final case class State(observers: Set[Observer]) extends AkkaSerializable

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class UnWire(observer: Observer) extends ProtocolCommand

The command to detach an observer from the actor, stopping to receive updates about the user's state.

The command to detach an observer from the actor, stopping to receive updates about the user's state.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class Wire(observer: Observer) extends ProtocolCommand

The command to attach an observer to the actor, receiving updates about the user's state.

The command to attach an observer to the actor, receiving updates about the user's state.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Value members

Concrete methods

def apply(): Entity[Command, ShardingEnvelope[Command]]
def apply(groupId: GroupId): Behavior[Command]

Concrete fields

val key: EntityTypeKey[Command]

Uniquely identifies the types of this entity instances (actors) that will be managed by cluster sharding.

Uniquely identifies the types of this entity instances (actors) that will be managed by cluster sharding.

Attributes