Skip to main content

Module ipc

Module ipc 

Source
Expand description

Local IPC transport between interception and the daemon.

Wire format: one newline-delimited JSON value per message. The interception side connects and sends a Request; the daemon replies with a Response. A Propose carries a ProposedCommand and is answered with a Verdict; a Resolve records a human’s decision on a held command and is answered with Ack. Transport is a Unix domain socket (filesystem) or a Windows named pipe (namespaced), abstracted by the interprocess crate.

Structs§

Client
Client side: connect, send a request, and block for the response.
Observation
A filesystem change observed by the backstop watcher.
Resolution
A human’s resolution of a held command.
Server
Server side: a bound listener that dispatches each request to a handler.

Enums§

Request
A request from interception to the daemon.
Response
The daemon’s reply.

Constants§

MAX_FRAME
Maximum size of a single IPC message. Bounds memory so a misbehaving or hostile local peer can’t OOM/stall the single-threaded daemon with a giant or newline-free stream.

Functions§

socket_path
Resolve the socket path. Override with KINTSUGI_SOCKET (handy in tests).