View Source erldist_filter_logger behaviour (erldist_filter v1.1.0)

Link to this section Summary

Link to this section Types

-type data() :: #data{}.
Link to this type

gen_statem_event_content/0

View Source
-type gen_statem_event_content() :: eqwalizer:dynamic().
-type handle_batch_result() :: handle_batch_result(handler_state()).
-type handle_batch_result(State) ::
    handle_events |
    {handle_events, [batch_event()]} |
    {handle_events, [batch_event()], State} |
    stop |
    {stop, stop_reason()} |
    {stop, stop_reason(), State}.
-type handle_event_result() :: handle_event_result(handler_state()).
-type handle_event_result(State) ::
    cont | {cont, State} | stop | {stop, stop_reason()} | {stop, stop_reason(), State}.
-type handle_info_result() :: handle_info_result(handler_state()).
-type handle_info_result(State) ::
    cont | {cont, State} | stop | {stop, stop_reason()} | {stop, stop_reason(), State}.
-type handler() :: module().
-type handler_options() :: term() | eqwalizer:dynamic().
-type handler_state() :: term() | eqwalizer:dynamic().
-type init_data() :: #init_data{}.
-type init_result() :: init_result(handler_state()).
-type init_result(State) :: {ok, State} | ignore | {stop, stop_reason()}.
-type stop_reason() :: normal | shutdown | {shutdown, term()} | term() | eqwalizer:dynamic().
-type worker_number() :: pos_integer().

Link to this section Callbacks

-callback handle_batch(BatchSize :: non_neg_integer(),
             BatchDrop :: non_neg_integer(),
             BatchEvents :: [batch_event()],
             HandlerState :: handler_state()) ->
                handle_batch_result().
-callback handle_control_event(Time :: erldist_filter_nif:logger_time(),
                     Sysname :: node(),
                     Control :: eqwalizer:dynamic(),
                     HandlerState :: handler_state()) ->
                        handle_event_result().
Link to this callback

handle_info/2

View Source (optional)
-callback handle_info(Info :: term() | eqwalizer:dynamic(), HandlerState :: handler_state()) ->
               handle_info_result().
-callback handle_payload_event(Time :: erldist_filter_nif:logger_time(),
                     Sysname :: node(),
                     Control :: eqwalizer:dynamic(),
                     Payload :: eqwalizer:dynamic(),
                     HandlerState :: handler_state()) ->
                        handle_event_result().
-callback init(HandlerOptions :: handler_options(), WorkerNumber :: worker_number()) -> init_result().
-callback terminate(Reason :: stop_reason(), HandlerState :: handler_state()) -> Ignored :: term().

Link to this section Functions

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

child_name(Handler, WorkerNumber)

View Source
-spec child_name(Handler, WorkerNumber) -> atom()
              when Handler :: handler(), WorkerNumber :: worker_number().
Link to this function

child_spec(Handler, HandlerOptions, WorkerNumber)

View Source
-spec child_spec(Handler, HandlerOptions, WorkerNumber) -> supervisor:child_spec()
              when
                  Handler :: handler(),
                  HandlerOptions :: handler_options(),
                  WorkerNumber :: worker_number().
-spec init(InitData) -> InitResult
        when
            InitData :: init_data(),
            State :: recv,
            Data :: data(),
            InitResult :: gen_statem:init_result(State, Data).
-spec recv(enter, State, Data) -> StateEnterResult
        when
            State :: recv | wait,
            Data :: data(),
            StateEnterResult :: gen_statem:state_enter_result(State, Data);
    (EventType, EventContent, Data) -> HandleEventResult
        when
            EventType :: gen_statem:event_type(),
            EventContent :: gen_statem_event_content(),
            State :: recv | wait,
            Data :: data(),
            HandleEventResult :: gen_statem:event_handler_result(State, Data).
Link to this function

start_link(ServerName, Handler, HandlerOptions, WorkerNumber)

View Source
-spec start_link(ServerName, Handler, HandlerOptions, WorkerNumber) -> gen_statem:start_ret()
              when
                  ServerName :: gen_statem:server_name(),
                  Handler :: handler(),
                  HandlerOptions :: handler_options(),
                  WorkerNumber :: worker_number().
Link to this function

terminate(Reason, State, Data)

View Source
-spec terminate(Reason, State, Data) -> Ignored
             when Reason :: stop_reason(), State :: recv | wait, Data :: data(), Ignored :: term().
-spec wait(enter, State, Data) -> StateEnterResult
        when
            State :: wait,
            Data :: data(),
            StateEnterResult :: gen_statem:state_enter_result(State, Data);
    (EventType, EventContent, Data) -> HandleEventResult
        when
            EventType :: gen_statem:event_type(),
            EventContent :: gen_statem_event_content(),
            State :: recv | wait,
            Data :: data(),
            HandleEventResult :: gen_statem:event_handler_result(State, Data).