Wampex.Router.Session (wampex_router v0.2.0)

A state machine based process for managing a WAMP Session. Utilizes StatesLanguage to implement the gen_statem process. See priv/session.json for the JSON representation

Link to this section Summary

Link to this section Types

Specs

t() :: %Wampex.Router.Session{
  authenticate: Wampex.Roles.Peer.Authenticate.t() | nil,
  authentication_module: module() | map(),
  authorization_module: module() | map(),
  call: Wampex.Roles.Caller.Call.t() | nil,
  challenge: Wampex.Roles.Peer.Challenge.t() | nil,
  db: module() | nil,
  error: term(),
  goodbye: binary() | nil,
  hello: Wampex.Roles.Peer.Hello.t() | nil,
  hello_received: boolean(),
  id: integer() | nil,
  invocations: [],
  message: Wampex.message() | nil,
  message_queue: [],
  name: module() | nil,
  peer: term(),
  proxy: module() | nil,
  publish: Wampex.Roles.Publisher.Publish.t() | nil,
  realm: String.t() | nil,
  register: Wampex.Roles.Callee.Register.t() | nil,
  registrations: [],
  request_id: integer(),
  requests: [],
  roles: [module()],
  subscribe: Wampex.Roles.Subscriber.Subscribe.t() | nil,
  subscriptions: [],
  transport: term(),
  transport_pid: pid() | module() | nil,
  unregister: Wampex.Roles.Callee.Unregister.t() | nil,
  unsubscribe: Wampex.Roles.Subscriber.Unsubscribe.t() | nil,
  yield: Wampex.Roles.Callee.Yield.t() | nil
}

Link to this section Functions

Link to this function

call(pid, event)

See :gen_statem.call/2.

Link to this function

call(pid, event, timeout)

See :gen_statem.call/3.

Link to this function

cast(pid, event)

See :gen_statem.cast/2.

Link to this function

child_spec(opts)

Link to this function

do_init(start, parent, parent_data, data)

Link to this function

get_start_state(start, override)

Link to this function

is_authorized?(am, peer, type, uri, method)

Link to this function

start(data, opts)

Link to this function

start(name, data, opts)

Link to this function

start_link(data)

Link to this function

start_link(data, opts)

Link to this function

start_link(name, data, opts)