Hive.Server.Make.Action

hive · API reference

type t = 
  | Send : 'm Addr.t * 'm -> t (* Enqueue a message on any typed address. Best-effort: sends to a stopped worker are dropped. *)
  | Send_after of {
    delay : float;
    timer : string;
  } (* Deliver Info.Timer timer to self after delay seconds. *)
  | Publish of {
    topic : string;
    payload : string;
  } (* Publish via the injected Pubsub.t capability; a no-op when the server was started without one. *)
  | Stop of reason (* Terminate after the current message; later actions in the same reaction are not performed. *)

Effects returned as data and performed by the runtime after the reply is delivered (§B.8: events are returned, not published).