Expand description

An implementation of the Rust channel API over process boundaries. Under the hood, this API uses Mach ports on Mac and file descriptor passing over Unix sockets on Linux. The serde library is used to serialize values for transport over the wire.

Features

force-inprocess

Force the inprocess backend to be used instead of the OS specific backend. The inprocess backend is a dummy back-end, that behaves like the real ones, but doesn’t actually work between processes.

memfd

Use memfd_create to back OsIpcSharedMemory on Linux. memfd_create was introduced in kernel version 3.17. WARNING: Enabling this feature with kernel version less than 3.17 will cause panics on any use of IpcSharedMemory.

unstable

Modules

Routers allow converting IPC channels to crossbeam channels. The RouterProxy provides various methods to register IpcReceiver<T>s. The router will then either call the appropriate callback or route the message to a crossbeam Sender<T> or Receiver<T>. You should use the global ROUTER to access the RouterProxy methods (via ROUTER’s Deref for RouterProxy.

Enums

The kind of error that can be produced during a serialization or deserialization.

Type Definitions

An error that can be produced during (de)serializing.