Provides GNU screen-like functionality via a 9p fs of io Hubs.
Use the hub wrapper script to start the hubfs and hubshell.
STARTING AND CONNECTING WITH 'HUB' WRAPPER SCRIPT
hub aug5 #starts and connects to a new hubfs and posts /srv/aug5
hub aug5 #connects a new client to the rc shell started by the previous command
hub aug5 rctwo #starts and connects to new rc named rctwo within the aug5 hubfs
hub #starts a hubfs named hub.a with an rc named io
hub #connects to the default hub.a io
MAKING NEW SHELLS AND MOVING IN HUBSHELL:
-all commands begin with '%' as first character-
%detach #disconnect from attached shell
%remote NAME #start a new shell on remote machine
%local NAME #start a new shell on local machine shared to hubfs server
%attach NAME #move to an existing hubfs shell
%err TIME, %in TIME, %out TIME #time in ms for delay loop on file access
%status #basic hubfs connection info
%list #lc of connected hubfs hubs
CONTROLLING HUBFS ITSELF VIA CTL FILE:
-reading from ctl file returns status-
echo freeze >/n/hubsrv/ctl #freeze Hubs as static files for viewing and editing
echo melt >/n/hubsrv/ctl #resume normal flow of data
echo fear >/n/hubsrv/ctl #activate paranoid mode and fswrites wait for fsreads to output data
echo calm >/n/hubsrv/ctl #resume standard non-paranoid data transmission mode
echo quit >/n/hubsrv/ctl #bring everything to a crashing halt and kill the fs
NOTES:
Each rc shell makes use of 3 Hubs, one for each file descriptor.
A Hub file provides both input and output.
You can create additional freeform pipelines by touching files to create Hubs.
|