1From: pcg@aber.ac.uk (Piercarlo Grandi) 2Newsgroups: comp.sources.unix 3Subject: v27i195: team - portable multi-buffered tape streaming utility, Part01/01 4Date: 13 Jan 1994 13:24:40 -0800 5Approved: vixie@gw.home.vix.com 6Message-ID: <1.758496249.28141@gw.home.vix.com> 7 8Submitted-By: pcg@aber.ac.uk (Piercarlo Grandi) 9Posting-Number: Volume 27, Issue 195 10Archive-Name: team/part01 11 12There exist a few filters that help tapes streams by buffering IO and 13allowing reads to overlaps with writes under Unix. Most of these filters 14rely on relatively unportable features, for example SYSV like shared 15memory. 16 17team is a filter that runs essentially unchanged on any Unix version, as 18it relies only on features present in V7. A number of team processes 19(team members) share a common input fd and a common output fd, and they 20take turns at reading from the former and writing to the latter; they 21synchronize by using a ring of pipes between them, where a "read-enable" 22and a "write-enable" token circulate. 23 24team is not just very portable, but also portable and efficient. It also 25has some bells & whistles, like command line options to specify the 26number of processes in a team, the block size for IO, and the volume 27size of the input or output media. It also optionally reports its 28progress. 29 30Previous versions of team have been circulating (e.g. via alt.sources) 31for several years; I have not found a bug for a long time, even if 32surely they will exist. 33 34The team source is GPL'ed, and it comes with no warranty. 35 36 Note: this program was developed entirely by the author in his own 37 time, using his own resources, on his machine, in the context of 38 his own research activities. In no way has the University of Wales, 39 Aberystwyth contributed aided or abetted to this work, for which 40 they bear no responsibility whatsoever. I am grateful to UWA for the 41 ability to use their systems (as a paying customer) to post this work. 42 43 pcg@aber.ac.uk (Piercarlo Grandi) 44 45