asobi_reconnect (asobi v0.35.4)

View Source

Summary

Types

policy/0

-type policy() ::
          #{grace_period := pos_integer(),
            during_grace := idle | ai_controlled | invulnerable | removed | frozen,
            on_reconnect := resume | respawn | spectate,
            on_expire := remove | forfeit | ai_takeover | kick,
            pause_match := boolean(),
            max_offline_total := pos_integer() | infinity}.

reconnect_event/0

-type reconnect_event() ::
          {grace_started, binary()} |
          {grace_expired, binary(), atom()} |
          {player_reconnected, binary(), atom()}.

state/0

-opaque state()

Functions

disconnect(PlayerId, Now, State)

-spec disconnect(binary(), pos_integer(), state()) -> {[reconnect_event()], state()}.

disconnected_players(_)

-spec disconnected_players(state()) -> [binary()].

info(_)

-spec info(state()) -> map().

is_disconnected(PlayerId, _)

-spec is_disconnected(binary(), state()) -> boolean().

new(Policy)

-spec new(policy()) -> state().

reconnect(PlayerId, State)

-spec reconnect(binary(), state()) -> {[reconnect_event()], state()}.

tick(DeltaMs, State)

-spec tick(pos_integer(), state()) -> {[reconnect_event()], state()}.