ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



fifo2(n)                                                                                            fifo2(n)



NAME
       fifo2 - Create and manipulate pipe fifo channels

SYNOPSIS
       package require Tcl

       package require memchan

       fifo2


DESCRIPTION
       The  command  described  here is only available in a not-yet released version of the package. Use the
       CVS to get the sources.

       fifo2  creates two stream-oriented in-memory channels and returns  their  handles  as  a  two-element
              list.  There  is no restriction on the ultimate size of the channels, they will always grow as
              much as is necessary to accomodate the data written into them.

              In contrast to the channels generated by fifo a pair of channels  created  here  is  connected
              internally  in  such  a way that data written into one channel can be read from the other. All
              data written into them is read in the same order. This also means that the two channels of the
              pair are not seekable.

              The  channels  created  here  can  be  transfered  between interpreters in the same thread and
              between threads. As both channels in the pair can be transfered independently they can be used
              to create a bidirectional connection between two interpreters.

       Memory  channels created by fifo2 provide two read-only options which can be queried via the standard
       fconfigure command. These are

       -rlength
              The value of this option is the number of bytes currently available for reading from the chan-nel. channel.
              nel.

       -wlength
              The value of this option is the number of bytes currently written into the channel.

       Note  that  the  two  lengths  are switched for the channels of a pair. In other words, the number of
       bytes written for one of the channels is the number of bytes readable from the other end.

       As the channels generated by fifo2 grow as necessary they are always  writable.  This  means  that  a
       writable fileevent-handler will fire continuously.

       The channels are also readable if they contain more than zero bytes. Under this conditions a readable
       fileevent-handler will fire continuously.

SEE ALSO
       fifo, memchan, null

KEYWORDS
       channel, fifo, i/o, in-memory channel, memchan, stream

COPYRIGHT
       Copyright (c) 1996-2003 Andreas Kupries <andreas_kupries@users.sourceforge.net>




Memory channels                                      2.2                                            fifo2(n)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.