plushie/connect

Connect to an already-running plushie renderer via Unix socket or TCP.

Replaces stdio mode when the renderer uses --listen to create a socket and either spawns this process (via --exec) or prints connection info for manual use.

Usage

import plushie/connect

pub fn main() {
  connect.main(my_app.app())
}

Socket resolution (in order)

  1. --socket CLI flag
  2. PLUSHIE_SOCKET environment variable
  3. Error

Token resolution (in order)

  1. --token CLI flag
  2. PLUSHIE_TOKEN environment variable
  3. JSON line from stdin (1 second timeout): {"token":"..."}
  4. No token (renderer decides if that’s OK)

Address auto-detection

Types

Options for connect mode.

pub type ConnectOpts {
  ConnectOpts(format: protocol.Format, daemon: Bool)
}

Constructors

  • ConnectOpts(format: protocol.Format, daemon: Bool)

    Arguments

    format

    Wire format. Default: MessagePack.

    daemon

    Keep running after all windows close. Default: False.

Values

pub fn default_opts() -> ConnectOpts

Default connect options.

pub fn run(
  app: app.App(model, event.Event),
  opts: ConnectOpts,
) -> Nil

Run a plushie application connected to an external renderer.

Parses CLI args for socket address and token, connects via the socket adapter, and blocks until the runtime exits.

Search Document