The plumber, in the
Plan 9 from Bell Labs
Plan 9 from Bell Labs is a distributed operating system which originated from the Computing Science Research Center (CSRC) at Bell Labs in the mid-1980s and built on UNIX concepts first developed there in the late 1960s. Since 2000, Plan 9 has b ...
and
Inferno
Inferno may refer to:
* Hell, an afterlife place of suffering
* Conflagration, a large uncontrolled fire
Film
* ''L'Inferno'', a 1911 Italian film
* ''Inferno'' (1953 film), a film noir by Roy Ward Baker
* ''Inferno'' (1973 film), a German ...
operating systems, is a mechanism for reliable
uni- or
multicast
In computer networking, multicast is group communication where data transmission is addressed to a group of destination computers simultaneously. Multicast can be one-to-many or many-to-many distribution. Multicast should not be confused wit ...
inter-process communication of formatted textual messages. It uses the Plan 9 network file protocol,
9P, rather than a special-purpose IPC mechanism.
Any number of clients may listen on a named port (a file) for messages. Ports and port routing are defined by plumbing rules. These rules are dynamic. Each listening program receives a copy of matching messages. For example, if the data /sys/lib/plumb/basic is plumbed with the standard rules, it is sent to the edit port. The port will write a copy of the message to each listener. In this case, all running editors will interpret this message as a file name, and open the file.
The plumber is the 9P file server that provides this service. Clients may use libplumb to format messages. Since the messages are 9P, they are network transparent.
See also
*
Pipeline (software)
In software engineering, a pipeline consists of a chain of processing elements (processes, threads, coroutines, functions, ''etc.''), arranged so that the output of each element is the input of the next; the name is by analogy to a physical pip ...
External links
*
*
*
*
"Plumbing and Other Utilities"by
Rob Pike
Robert "Rob" Pike (born 1956) is a Canadian programmer and author. He is best known for his work on the Go programming language and at Bell Labs, where he was a member of the Unix team and was involved in the creation of the Plan 9 from Bell Labs ...
A port of plumber to Unix-like operating systemsPlumbing extension for urxvt
Plan 9 from Bell Labs
Inferno (operating system)
Free special-purpose file systems
{{Software-type-stub