plushie/renderer_port
Erlang Port operations for the renderer subprocess.
Manages the low-level Erlang Port that communicates with the plushie-renderer binary over stdin/stdout. Used by bridge.gleam and testing infrastructure.
All functions are @target(erlang). Cross-target utilities (logging, env, hashing, time) live in plushie/platform.gleam.
Types
Values
pub fn extract_eof(
msg: dynamic.Dynamic,
) -> Result(Nil, dynamic.Dynamic)
Extract eof signal from a port message.
pub fn extract_exit_status(
msg: dynamic.Dynamic,
) -> Result(dynamic.Dynamic, dynamic.Dynamic)
Extract exit status from an Erlang port message tuple.
pub fn extract_line_data(
msg: dynamic.Dynamic,
) -> Result(LineData, dynamic.Dynamic)
Extract line data from a port message in {line, N} mode.
pub fn extract_port_data(
msg: dynamic.Dynamic,
) -> Result(dynamic.Dynamic, dynamic.Dynamic)
Extract data payload from an Erlang port message tuple.
pub fn json_port_options() -> dynamic.Dynamic
Port options for JSONL wire format (newline-delimited).
pub fn msgpack_port_options() -> dynamic.Dynamic
Port options for MessagePack wire format (4-byte length prefix).
pub fn open_fd_port(
input_fd: Int,
output_fd: Int,
options: dynamic.Dynamic,
) -> port.Port
Open an fd port (for stdin/stdout stdio transport).
pub fn open_port_spawn(
path: String,
args: List(String),
env: dynamic.Dynamic,
options: dynamic.Dynamic,
) -> port.Port
Open a port to spawn an external process.
pub fn stdio_port_options_json() -> dynamic.Dynamic
Port options for stdio transport with JSON.
pub fn stdio_port_options_msgpack() -> dynamic.Dynamic
Port options for stdio transport with MessagePack.