diff options
Diffstat (limited to 'man/man4/plumber.html')
-rw-r--r-- | man/man4/plumber.html | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/man/man4/plumber.html b/man/man4/plumber.html new file mode 100644 index 00000000..83e5943f --- /dev/null +++ b/man/man4/plumber.html @@ -0,0 +1,122 @@ +<head> +<title>plumber(4) - Plan 9 from User Space</title> +<meta content="text/html; charset=utf-8" http-equiv=Content-Type> +</head> +<body bgcolor=#ffffff> +<table border=0 cellpadding=0 cellspacing=0 width=100%> +<tr height=10><td> +<tr><td width=20><td> +<tr><td width=20><td><b>PLUMBER(4)</b><td align=right><b>PLUMBER(4)</b> +<tr><td width=20><td colspan=2> + <br> +<p><font size=+1><b>NAME </b></font><br> + +<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> + + plumber – file system for interprocess messaging<br> + +</table> +<p><font size=+1><b>SYNOPSIS </b></font><br> + +<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> + + <tt><font size=+1>plumber</font></tt> [ <tt><font size=+1>−p</font></tt> <i>plumbing</i> ]<br> + +</table> +<p><font size=+1><b>DESCRIPTION </b></font><br> + +<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> + + The <i>plumber</i> is a user-level file server that receives, examines, + rewrites, and dispatches <a href="../man7/plumb.html"><i>plumb</i>(7)</a> messages between programs. Its + behavior is programmed by a <i>plumbing</i> file (default <tt><font size=+1>$HOME/lib/plumbing</font></tt>) + in the format of <a href="../man7/plumb.html"><i>plumb</i>(7)</a>. + <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> + + Its services are posted via <a href="../man4/9pserve.html"><i>9pserve</i>(4)</a> as <tt><font size=+1>plumb</font></tt>. and consist of + two pre-defined files, <tt><font size=+1>plumb/send</font></tt> and <tt><font size=+1>plumb/rules</font></tt>, and a set of + output <i>ports</i> for dispatching messages to applications. + <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> + + Programs use <tt><font size=+1>fswrite</font></tt> (see <a href="../man3/9pclient.html"><i>9pclient</i>(3)</a>) to deliver messages to + the <tt><font size=+1>send</font></tt> file, and <i>fsread</i> to receive them from the corresponding + port. For example, <a href="../man1/sam.html"><i>sam</i>(1)</a>’s <tt><font size=+1>plumb</font></tt> menu item or the <tt><font size=+1>B</font></tt> command cause + a message to be sent to <tt><font size=+1>plumb/send</font></tt>; <tt><font size=+1>sam</font></tt> in turn reads from, by + convention, <tt><font size=+1>plumb/edit</font></tt> to receive + messages about files to open. + <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> + + A copy of each message is sent to each client that has the corresponding + port open. If none has it open, and the rule has a <tt><font size=+1>plumb client</font></tt> + or <tt><font size=+1>plumb start</font></tt> rule, that rule is applied. A <tt><font size=+1>plumb client</font></tt> rule + causes the specified command to be run and the message to be held + for delivery when the port is opened. A + <tt><font size=+1>plumb start</font></tt> rule runs the command but discards the message. If + neither <tt><font size=+1>start</font></tt> or <tt><font size=+1>client</font></tt> is specified and the port is not open, + the message is discarded and a write error is returned to the + sender. + <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> + + The set of output ports is determined dynamically by the specification + in the plumbing rules file: a port is created for each unique + destination of a <tt><font size=+1>plumb to</font></tt> rule. + <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> + + The set of rules currently active may be examined by reading the + file <tt><font size=+1>plumb/rules</font></tt>; appending to this file adds new rules to the + set, while creating it (opening it with <tt><font size=+1>OTRUNC</font></tt>) clears the rule + set. Thus the rule set may be edited dynamically with a traditional + text editor. However, ports are never deleted dynamically; + if a new set of rules does not include a port that was defined + in earlier rules, that port will still exist (although no new + messages will be delivered there).<br> + +</table> +<p><font size=+1><b>FILES </b></font><br> + +<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> + + <tt><font size=+1>$HOME/lib/plumbing</font></tt> default rules file<br> + <tt><font size=+1>/usr/local/plan9/plumb<br> + </font></tt> + <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> + + + <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> + + directory to search for files in <tt><font size=+1>include</font></tt> statements<br> + + </table> + + </table> + <tt><font size=+1>plumb</font></tt> mount name for <a href="../man4/plumber.html"><i>plumber</i>(4)</a>.<br> + +</table> +<p><font size=+1><b>SOURCE </b></font><br> + +<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> + + <tt><font size=+1>/usr/local/plan9/src/cmd/plumb<br> + </font></tt> +</table> +<p><font size=+1><b>SEE ALSO </b></font><br> + +<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> + + <a href="../man1/plumb.html"><i>plumb</i>(1)</a>, <a href="../man3/plumb.html"><i>plumb</i>(3)</a>, <a href="../man7/plumb.html"><i>plumb</i>(7)</a><br> + +</table> + +<td width=20> +<tr height=20><td> +</table> +<!-- TRAILER --> +<table border=0 cellpadding=0 cellspacing=0 width=100%> +<tr height=15><td width=10><td><td width=10> +<tr><td><td> +<center> +<a href="../../"><img src="../../dist/spaceglenda100.png" alt="Space Glenda" border=1></a> +</center> +</table> +<!-- TRAILER --> +</body></html> |