-module(distribute@actor). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/distribute/actor.gleam"). -export([start/3, start_global/3]). -if(?OTP_RELEASE >= 27). -define(MODULEDOC(Str), -moduledoc(Str)). -define(DOC(Str), -doc(Str)). -else. -define(MODULEDOC(Str), -compile([])). -define(DOC(Str), -compile([])). -endif. -file("src/distribute/actor.gleam", 10). ?DOC( " Start an actor that receives and decodes typed messages.\n" "\n" " This is a wrapper around `receiver.start_typed_receiver`.\n" " The returned Subject accepts `BitArray` messages.\n" ). -spec start( HCM, fun((bitstring()) -> {ok, HCN} | {error, distribute@codec:decode_error()}), fun((HCN, HCM) -> distribute@receiver:next(HCM)) ) -> {ok, gleam@erlang@process:subject(bitstring())} | {error, gleam@otp@actor:start_error()}. start(Initial_state, Decoder, Handler) -> distribute@receiver:start_typed_receiver(Initial_state, Decoder, Handler). -file("src/distribute/actor.gleam", 22). ?DOC( " Start a global actor that can be registered with `registry.register_typed`.\n" "\n" " This is a wrapper around `receiver.start_global_receiver`.\n" " The returned Subject has a `Nil` tag and accepts `BitArray` messages.\n" ). -spec start_global( HCT, fun((bitstring()) -> {ok, HCU} | {error, distribute@codec:decode_error()}), fun((HCU, HCT) -> distribute@receiver:next(HCT)) ) -> gleam@erlang@process:subject(bitstring()). start_global(Initial_state, Decoder, Handler) -> distribute@receiver:start_global_receiver(Initial_state, Decoder, Handler).