mem_macula_pool (macula_testkit v0.1.0)

View Source

A drop-in macula pool, in memory.

Speaks exactly the gen_server protocol macula_client uses, so a consumer can call macula:publish(Pool, ...) / macula:subscribe(Pool, ...) unchanged against one of these and it just works. The pool delegates to the shared mesh; pub/sub, routing, and QUIC are not involved.

Protocol reproduced (from macula_client.erl): call {publish, Realm, Topic, Payload, Opts} -> ok call {subscribe, Realm, Topic, Subscriber, Opts} -> {ok, SubRef} call {unsubscribe, SubRef} -> ok call status / links

Summary

Functions

handle_call(Req, From, S)

handle_cast(Msg, S)

handle_info(Info, S)

init(Mesh)

start_link(Mesh)

-spec start_link(pid()) -> {ok, pid()}.

terminate(Reason, S)