Skip to main content

Module ipc

Module ipc 

Source
Expand description

The front door: one instance, and every other invocation a client of it. Concept 8. Launching a document returns at once, so something has to outlive the launch to hold the watch, and a session list in the plural means a second invocation hands its container to the first rather than starting a rival with a list of its own.

The front door is a control surface and is treated as one. §10 says a value supplied over IPC is a policy bypass, and the requests themselves are the same problem: a local process that can reach the endpoint could hand the engine a container, close a session before its final repack, or discard a recovery item. The endpoint sits in a directory only its owner can traverse, which is the platform’s own mechanism and a requirement rather than a hardening measure. A frame longer than MAX_FRAME is refused before it is allocated, because a length somebody else chose is not a length to trust.

§The wire

A frame is four bytes of big-endian length and then that many bytes. The body is NUL-separated fields, the first of which names the verb. NUL rather than a newline or a tab, because a path may contain either of those on Unix and may not contain NUL — a protocol a filename can break is a protocol that breaks on exactly the containers somebody was careless naming.

Enums§

Error
A frame that could not be understood.
Request
What an invocation asks the resident instance to do.
Response
What it answers.
Voice
Who says what came of an open.

Constants§

MAX_FRAME
The largest frame this will read. Requests are a verb and a path; anything approaching this is a mistake or an attempt.

Functions§

answer
Answer one request.
ask
Send a request and wait for the answer.
take
Read one request.