Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ (2) — Plan9 3rd Edition (Vita Nuova)

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

bufio(2)

BUFIO-CHANFILL(2)

NAME

bufio: chanfill − buffered I/O interface to named channel

SYNOPSIS

include "bufio.m";
chanfill := load ChanFill ChanFill->PATH;
 init:   fn(data: array of byte, fid: int,
            wc: Sys->Rwrite, r: ref Sys->FileIO,
            b: Bufio): ref Bufio->Iobuf;
fill:   fn(b: ref Bufio->Iobuf): int;

DESCRIPTION

­ChanFill is an implementation of ­BufioFill (see bufio(2)) that refills an ­Iobuf as data is written to a file created by sys-file2chan(2), which is allowed only one writer. ­Init returns an ­Iobuf allocated from the ­Bufio instance b, that when read will return data written to the file by another process. Data, fid and wc are the values in the tuple presented by ­Sys->file2chan on the first write.  ­Data becomes the initial data for the Iobuf; ­init replies to the writer on wc. The other values are saved for use by fill: on later calls to by ­Bufio to refill the buffer, ­fill waits for a new write request on fio.write and either fills the buffer or signals end-of-file appropriately. 

SEE ALSO

bufio(2)

Plan 9  —  June 07, 2000

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026