View Source mqtt_sessions_router (mqtt_sessions v2.6.1)
Summary
Types
-type mqtt_msg() :: #{pool => atom(), topic => [binary()], topic_bindings => [proplists:property()], message => mqtt_packet_map:mqtt_packet(), publisher_context => term(), subscriber_context => term(), no_local => boolean(), qos => 0 | 1 | 2, retain_as_published => boolean(), retain_handling => integer()}.
-type subscriber() :: {pid() | mfa(), OwnerPid :: pid(), subscriber_options()}.
Functions
-spec init([atom()]) -> {ok, #state{pool :: atom(), router :: router:router(), monitors :: map()}}.
-spec publish(atom(), list(), mqtt_packet_map:mqtt_packet()) -> {ok, pid() | undefined} | {error, overload}.
-spec publish(atom(), list(), mqtt_packet_map:mqtt_packet(), term()) -> {ok, pid() | undefined} | {error, overload}.
-spec subscribe(atom(), list(), mqtt_sessions:callback(), term()) -> ok | {error, invalid_subscriber}.
Link to this function