SafeRPC.Service (safe_rpc v0.1.6)

Copy Markdown View Source

Elixir-native SafeRPC service DSL.

defmodule MyApp do
  use SafeRPC, service: :my_app

  @rpc true
  @doc "Return service status."
  @spec status(map(), map(), term()) :: {:ok, map()}
  def status(_payload, _meta, state), do: {:ok, state}
end

Only functions marked with @rpc are exposed. Operation identity is the Elixir module/function pair {Module, function}.

Summary

Functions

descriptor(module, service, version, ops)