macula_stream_local (macula v4.2.5)
View SourceLocal registry + dispatcher for streaming RPC.
LOCAL streaming only — the client-side and server-side macula_stream processes both live in the same BEAM and are paired with macula_stream:pair/2. This module is the registry that lets call_stream find a locally-advertised handler for a given procedure name.
Cross-node streaming travels through macula_station_link (V2 pool); the public SDK surface in macula.erl is identical between the LOCAL and pool paths — only the entry point arity differs (call_stream/3 vs call_stream/5).
Summary
Functions
Advertise a streaming procedure (default mode: server_stream).
Open a server-stream call. Returns the client-side stream pid. The caller drains chunks with macula_stream:recv/2.
Open a client-stream or bidi call. Returns the client-side stream pid; caller writes with macula_stream:send/2,3 and reads the terminal value with macula_stream:await_reply/1,2.
Types
-type mode() :: macula_stream:mode().
Functions
Advertise a streaming procedure (default mode: server_stream).
Open a server-stream call. Returns the client-side stream pid. The caller drains chunks with macula_stream:recv/2.
Open a client-stream or bidi call. Returns the client-side stream pid; caller writes with macula_stream:send/2,3 and reads the terminal value with macula_stream:await_reply/1,2.
-spec unadvertise(binary()) -> ok.