the p9p version of xcpu used to do something similar, but the old svn
repository is gone now so i can't verify. i see an old version of rx.c
in 9grid:/usr/andrey/src/xcpu/rx.c which does something similar to
what you want with threads, channels and procs but doesn't combine the
input.

it doesn't look finished, so it may be useless. it creates a proc for
each remote host :(

it does something like this (from a perfunctory look, it's been a while):

---
# shared between all procs
create input chan
create output chan

for each node create a proc that:
    connects to node and set up a session
    creates proc for stdout
    creates proc for stderr
    waits on input chan for commands to send to the node

stdout and stderr procs do:
    read from remote host
    write to output chan
---

the aggregator part you want can be inserted between read the output
chan and whatever you need to output to, but that logic doesn't exist
in rx.c, i think :)

Reply via email to