GNU.WIKI: The GNU/Linux Knowledge Base

  [HOME] [PHP Manual] [HowTo] [ABS] [MAN1] [MAN2] [MAN3] [MAN4] [MAN5] [MAN6] [MAN7] [MAN8] [MAN9]

  [0-9] [Aa] [Bb] [Cc] [Dd] [Ee] [Ff] [Gg] [Hh] [Ii] [Jj] [Kk] [Ll] [Mm] [Nn] [Oo] [Pp] [Qq] [Rr] [Ss] [Tt] [Uu] [Vv] [Ww] [Xx] [Yy] [Zz]


       memchan - Create and manipulate memory channels


       package require Tcl

       package require memchan

       memchan ?-initial-size len?



       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


       memchan ?-initial-size len?
              creates  a  chunk-oriented  in-memory  channel  and  returns its
              handle. If an initial size is specified  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 accommodate the data written
              into it.

              The  channels  created   here   can   be   transferred   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
              unidirectional connection between two interpreters.

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

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

              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

       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
       suppressing readable events. This also means that users  have  to  take
       care  to seek the channel to a location before the end before trying to
       read data back.


       fifo, fifo2, null, random, zero


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


       Copyright (c) 1996-2003 Andreas Kupries <>

  All copyrights belong to their respective owners. Other content (c) 2014-2018, GNU.WIKI. Please report site errors to
Page load time: 0.108 seconds. Last modified: November 04 2018 12:49:43.