View Source nats (enats v1.0.0)
Summary
Types
-type nats_host() :: inet:socket_address().
Types
-type data() :: #{socket := undefined | gen_tcp:socket() | ssl:socket(), tls := boolean(), server_info := undefined | map(), recv_buffer := binary(), batch := iolist(), batch_size := non_neg_integer(), batch_timer := undefined | reference(), tid := ets:tid(), inbox := undefined | binary(), srv_init := boolean(), parent := pid(), host := nats_host(), port := inet:port_number(), socket_opts := socket_opts(), verbose := boolean(), pedantic := boolean(), tls_required := boolean(), tls_opts := [ssl:tls_client_option()], auth_required := boolean(), auth_token => binary(), user => binary(), pass => binary(), name := binary(), lang := binary(), version := binary(), headers := boolean(), no_responders := boolean(), buffer_size := non_neg_integer(), max_batch_size := non_neg_integer(), send_timeout := non_neg_integer(), _ => _}.
-type nats_host() :: inet:socket_address() | inet:hostname() | binary().
-type nats_host() :: inet:socket_address().
-type opts() :: #{socket_opts => socket_opts(), verbose => boolean(), pedantic => boolean(), tls_required => boolean(), tls_opts => [ssl:tls_client_option()], auth_required => boolean(), auth_token => binary(), user => binary(), pass => binary(), name => binary(), lang => binary(), version => binary(), headers => boolean(), no_responders => boolean(), buffer_size => -1 | non_neg_integer(), max_batch_size => non_neg_integer(), send_timeout => non_neg_integer()}.
-type socket_opts() :: #{netns => string(), netdev => binary(), rcvbuf => non_neg_integer(), sndbuf => non_neg_integer(), reuseaddr => boolean()}.
Functions
-spec callback_mode() -> gen_statem:callback_mode_result().
-spec connect(Host :: nats_host(), Port :: inet:port_number(), Opts :: opts()) -> {ok, Pid :: pid()} | ignore | {error, Error :: term()}.
-spec handle_event(enter, OldState :: term(), State :: term(), Data :: term()) -> gen_statem:state_enter_result(term(), data()); (gen_statem:event_type(), Msg :: term(), State :: term(), Data :: term()) -> gen_statem:event_handler_result(term(), data()).
-spec init({Host :: nats_host(), Port :: inet:port_number(), Opts :: opts()}) -> gen_statem:init_result(connecting, data()).