View Source ow_zone behaviour (overworld v2.0.0)
Summary
Functions
Initialize the internal state of the zone, with timer
Types
-type from() :: gen_server:from().
-type server_name() :: gen_server:server_name().
-type server_ref() :: gen_server:server_ref().
-type session_pid() :: pid().
-type start_opt() :: gen_server:start_opt().
Callbacks
-callback handle_disconnect(From, ZoneData, State) -> Result when From :: session_pid(), ZoneData :: zone_data(), State :: term(), Result :: ow_zone_cast_resp().
-callback handle_join(Msg, From, ZoneData, State) -> Result when From :: session_pid(), Msg :: term(), ZoneData :: zone_data(), State :: term(), Result :: ow_zone_call_resp().
-callback handle_part(Msg, From, ZoneData, State) -> Result when From :: session_pid(), Msg :: term(), ZoneData :: zone_data(), State :: term(), Result :: ow_zone_call_resp().
-callback handle_reconnect(From, ZoneData, State) -> Result when From :: session_pid(), ZoneData :: zone_data(), State :: term(), Result :: ow_zone_call_resp().
-callback handle_tick(ZoneData, State) -> Result when ZoneData :: zone_data(), State :: term(), Result :: ow_zone_cast_resp().
Functions
-spec broadcast(server_ref(), term()) -> ok.
-spec call(ServerRef, Message) -> Reply when ServerRef :: server_ref(), Message :: term(), Reply :: term().
-spec call(ServerRef, Message, Timeout) -> Reply when ServerRef :: server_ref(), Message :: term(), Timeout :: timeout(), Reply :: term().
-spec cast(ServerRef, Message) -> ok when ServerRef :: server_ref(), Message :: term().
-spec disconnect(server_ref(), session_pid()) -> ok.
Initialize the internal state of the zone, with timer
-spec join(server_ref(), term(), session_pid()) -> ok.
-spec part(server_ref(), term(), session_pid()) -> ok.
-spec reconnect(server_ref(), session_pid()) -> ok.
-spec rpc(server_ref(), atom(), term(), session_pid()) -> ok.
-spec send(server_ref(), [session_pid()], term()) -> ok.
-spec start(ServerName, Module, Args, Opts) -> Result when ServerName :: server_name(), Module :: module(), Args :: term(), Opts :: [start_opt()], Result :: start_ret().
-spec start_link(ServerName, Module, Args, Opts) -> Result when ServerName :: server_name(), Module :: module(), Args :: term(), Opts :: [start_opt()], Result :: start_ret().
-spec start_monitor(Module, Args, Opts) -> Result when Module :: module(), Args :: term(), Opts :: [start_opt()], Result :: start_mon_ret().
-spec start_monitor(ServerName, Module, Args, Opts) -> Result when ServerName :: server_name(), Module :: module(), Args :: term(), Opts :: [start_opt()], Result :: start_mon_ret().
-spec stop(ServerRef) -> ok when ServerRef :: server_ref().
-spec stop(ServerRef, Reason, Timeout) -> ok when ServerRef :: server_ref(), Reason :: term(), Timeout :: timeout().