wemote

Types

pub type Error {
  Threw(thrown: Dynamic)
  Exception(exit_reason: Dynamic)
  Exited(exit_reason: Dynamic)
  RuntimeError(reason: Dynamic, stack_trace: Dynamic)
  RpcError(RpcError)
  Other(Dynamic)
}

Constructors

  • Threw(thrown: Dynamic)

    The supplied function called throw(x), and x is returned here.

  • Exception(exit_reason: Dynamic)

    The supplied function called exit(x), and this returns the exit reason.

  • Exited(exit_reason: Dynamic)

    The process running the function was terminated, and the exit reason is returned here.

  • RuntimeError(reason: Dynamic, stack_trace: Dynamic)

    The supplied function contains a runtime error.

  • RpcError(RpcError)

    The rpc backend encountered an error.

  • Other(Dynamic)

    Some other unknown error occurred. Feel free to panic on this, it shouldn’t ever happen. Included just in case.

pub type RpcError {
  Badarg
  Noconnection
  SystemLimit
  Timeout
  Notsup
}

Constructors

  • Badarg

    This will never happen, but is included for completeness, in case we add functionality in future that can return this.

  • Noconnection

    This is returned if the current node cannot establish a connection to the remote node.

  • SystemLimit

    This is returned if there is some sort of limit on the other end, most commonly a failure to start a process.

  • Timeout

    The operation timed out. The function may or may not be applied

  • Notsup

    The remote node does not support erpc

pub type Timeout {
  Infinity
  Milliseconds(Int)
}

Constructors

  • Infinity
  • Milliseconds(Int)

Functions

pub fn call(
  node: Node,
  fun: fn() -> a,
  timeout: Timeout,
) -> Result(a, Error)
Search Document