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).



memchan(n)                                                                                        memchan(n)



NAME
       memchan - Create and manipulate memory channels

SYNOPSIS
       package require Tcl

       package require memchan

       memchan ?-initial-size len?


DESCRIPTION
       This  manpage documents both the overall package and the command memchan. The package itself provides
       a number of in-memory channels which can utilized to

             capture stream-like information in a natural way instead of using set and append to manipulate
              strings

             or to transfer data between interpreters, in the same thread or not.

COMMAND
       memchan ?-initial-size len?
              creates a chunk-oriented in-memory channel and returns its handle. If an initial size is spec-ified specified
              ified the system will pre-allocate len bytes of buffer space for  the  contents.  This  is  no
              restriction  on  the ultimate size of the channel, it will always grow as much as is necessary
              to accomodate the data written into it.

              The channels created here can be transfered  between  interpreters  in  the  same  thread  and
              between threads, but only as a whole. It is not possible to use them to create a bi- or unidi-rectional unidirectional
              rectional connection between two interpreters.

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

       -length
              The  value  of this option is the number of bytes currently stored in the queried memory chan-nel. channel.
              nel.

       -allocated
              The value of this option is the number of bytes currently  allocated  by  the  queried  memory
              channel. This number is at least as big as the value of -length.

       As  the  channels  generated by memchan 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 and the seek location is not  and
       the end of the channel. Under these conditions a readable fileevent-handler will fire continuously.

       Note  that writing to such a channel usually occurs at the end, thus supressing readable events. This
       also means that users have to take care to seek the channel to a location before the end before  try-ing trying
       ing to read data back.

SEE ALSO
       fifo, fifo2, null

KEYWORDS
       channel, chunk, i/o, in-memory channel, memchan

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




Memory channels                                      2.1                                          memchan(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.