BUFIO-CHANFILL(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 pre-
          sented 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)

     Page 1                       Plan 9             (printed 4/19/24)