Solve.Message (Solve v0.2.1)

Copy Markdown View Source

Envelope for Solve runtime messages exchanged between subscribers and controllers.

Summary

Types

t()

Supported Solve message kinds

Types

payload()

@type payload() :: Solve.Update.t() | Solve.Dispatch.t()

t()

@type t() :: %Solve.Message{payload: payload(), type: type()}

type()

@type type() :: :update | :dispatch

Supported Solve message kinds

Functions

dispatch(app, controller_name, event, payload \\ %{})

@spec dispatch(
  GenServer.server() | nil,
  Solve.Dispatch.controller_name(),
  atom(),
  term()
) :: t()

update(app, controller_name, exposed_state)

@spec update(GenServer.server() | nil, Solve.Update.controller_name(), term()) :: t()