View Source erldist_filter_router (erldist_filter v1.28.5)

Summary

Types

-type data() ::
    #data{server_name :: gen_statem:server_name(),
          router_number :: router_number(),
          handler_sup :: atom(),
          handlers :: #{node() => pid()},
          monitors :: #{reference() => {node(), pid()}}}.
Link to this type

gen_statem_event_content/0

View Source
-type gen_statem_event_content() :: dynamic().
-type init_data() ::
    #init_data{server_name :: gen_statem:server_name(), router_number :: router_number()}.
-type router_number() :: pos_integer().
-type stop_reason() :: normal | shutdown | {shutdown, term()} | term() | dynamic().

Functions

-spec callback_mode() -> gen_statem:callback_mode_result().
Link to this function

child_name(RouterNumber)

View Source
-spec child_name(RouterNumber) -> atom() when RouterNumber :: router_number().
Link to this function

child_spec(RouterNumber)

View Source
-spec child_spec(RouterNumber) -> supervisor:child_spec() when RouterNumber :: router_number().
-spec init(InitData) -> InitResult
        when
            InitData :: init_data(),
            State :: route,
            Data :: data(),
            InitResult :: gen_statem:init_result(State, Data).
Link to this function

route(EventType, EventContent, Data)

View Source
-spec route(EventType, EventContent, Data) -> HandleEventResult
         when
             EventType :: gen_statem:event_type(),
             EventContent :: gen_statem_event_content(),
             State :: route,
             Data :: data(),
             HandleEventResult :: gen_statem:event_handler_result(State, Data).
Link to this function

start_link(ServerName, RouterNumber)

View Source
-spec start_link(ServerName, RouterNumber) -> gen_statem:start_ret()
              when ServerName :: gen_statem:server_name(), RouterNumber :: router_number().
Link to this function

terminate(Reason, State, Data)

View Source
-spec terminate(Reason, State, Data) -> Ignored
             when Reason :: stop_reason(), State :: route, Data :: data(), Ignored :: term().