RealTimeUserTracker

io.github.positionpal.location.tracking.actors.RealTimeUserTracker

The actor in charge of tracking the real-time location of users, reacting to their movements and status changes. This actor is managed by Akka Cluster Sharding.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Type members

Classlikes

case object AliveCheck extends SelfMessage

A SelfMessage triggered regularly by a timer to check whether the user went offline.

A SelfMessage triggered regularly by a timer to check whether the user went offline.

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait SelfMessage
class Object
trait Matchable
class Any
Show all
Self type
AliveCheck.type
case object Ignore extends SelfMessage

A SelfMessage indicating the spawned async operation has completed with an unuseful result.

A SelfMessage indicating the spawned async operation has completed with an unuseful result.

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait SelfMessage
class Object
trait Matchable
class Any
Show all
Self type
Ignore.type
sealed trait SelfMessage

A message sent by the actor to itself in response to an async operation or to initiate an action proactively.

A message sent by the actor to itself in response to an async operation or to initiate an action proactively.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object AliveCheck
object Ignore
case class StatefulDrivingEvent(state: UserState, event: DrivingEvent) extends AkkaSerializable

Attributes

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

Value members

Concrete methods

def apply(using NotificationService[IO], MapsService[IO], UserGroupsService[IO]): Entity[Command, ShardingEnvelope[Command]]
def apply(scope: Scope, tag: String)(using NotificationService[IO], MapsService[IO], UserGroupsService[IO]): 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

val tags: Seq[String]

Labels used to tag the events emitted by this kind entity actors to distribute them over several projections. Each entity instance selects it (based on an appropriate strategy) and uses it to tag the events it emits.

Labels used to tag the events emitted by this kind entity actors to distribute them over several projections. Each entity instance selects it (based on an appropriate strategy) and uses it to tag the events it emits.

Attributes