gossip v0.6.0 Gossip View Source
Gossip client
https://github.com/oestrich/gossip
Link to this section Summary
Functions
Send a message to the Gossip network
Send a player sign in event
Send a player sign out event
Get more information about a single game
Get more detail about connected games
Check Gossip for players that are online
Check Gossip for players of a single game
Send a tell to a remote game and player
Called when an application is started
Get the local list of remote players
Link to this section Types
Link to this section Functions
broadcast(channel_name(), Message.send()) :: :ok
Send a message to the Gossip network
Send a player sign in event
player_sign_out(player_name()) :: :ok
Send a player sign out event
request_game(Gossip.game_name()) :: {:ok, game()} | {:error, :offline}
Get more information about a single game
Get more detail about connected games.
This sends a games/status
event to Gossip, sending back an event per connected
game to gossip. You will receive the updates via the callback
Gossip.Client.games_status/1
.
Note that you will periodically recieve this callback as the Gossip client will refresh it’s own state.
Check Gossip for players that are online.
This sends a players/status
event to Gossip, sending back the current game
presence on the server. You will receive the updates via the callback
Gossip.Client.players_status/2
.
Note that you will periodically recieve this callback as the Gossip client will refresh it’s own state.
Check Gossip for players of a single game
Unlike the full list version, this will block until Gossip returns.
send_tell(player_name(), game_name(), player_name(), message()) :: :ok | {:error, :offline} | {:error, String.t()}
Send a tell to a remote game and player.
Called when an application is started.
This function is called when an application is started using
Application.start/2
(and functions on top of that, such as
Application.ensure_started/2
). This function should start the top-level
process of the application (which should be the top supervisor of the
application’s supervision tree if the application follows the OTP design
principles around supervision).
start_type
defines how the application is started:
:normal
- used if the startup is a normal startup or if the application is distributed and is started on the current node because of a failover from another node and the application specification key:start_phases
is:undefined
.{:takeover, node}
- used if the application is distributed and is started on the current node because of a failover on the nodenode
.{:failover, node}
- used if the application is distributed and is started on the current node because of a failover on nodenode
, and the application specification key:start_phases
is not:undefined
.
start_args
are the arguments passed to the application in the :mod
specification key (e.g., mod: {MyApp, [:my_args]}
).
This function should either return {:ok, pid}
or {:ok, pid, state}
if
startup is successful. pid
should be the PID of the top supervisor. state
can be an arbitrary term, and if omitted will default to []
; if the
application is later stopped, state
is passed to the stop/1
callback (see
the documentation for the c:stop/1
callback for more information).
use Application
provides no default implementation for the start/2
callback.
Callback implementation for Application.start/2
.
Get the local list of remote players.
This is tracked as players sign in and out. It is also periodically updated by retrieving the full list.