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 type channel_name() View Source
channel_name() :: String.t()
Link to this type game_name() View Source
game_name() :: String.t()
Link to this type player_name() View Source
player_name() :: String.t()
Link to this type user_agent() View Source
user_agent() :: String.t()

Link to this section Functions

Link to this function broadcast(channel, message) View Source
broadcast(channel_name(), Message.send()) :: :ok

Send a message to the Gossip network

Link to this function player_sign_in(player_name) View Source
player_sign_in(player_name()) :: :ok

Send a player sign in event

Link to this function player_sign_out(player_name) View Source
player_sign_out(player_name()) :: :ok

Send a player sign out event

Link to this function request_game(game_name) View Source
request_game(Gossip.game_name()) :: {:ok, game()} | {:error, :offline}

Get more information about a single game

Link to this function request_games() View Source
request_games() :: :ok

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.

Link to this function request_players_online() View Source
request_players_online() :: :ok

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.

Link to this function request_players_online(game) View Source

Check Gossip for players of a single game

Unlike the full list version, this will block until Gossip returns.

Link to this function send_tell(sending_player, game_name, player_name, message) View Source
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 node node.
  • {:failover, node} - used if the application is distributed and is started on the current node because of a failover on node node, 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.