manpagez: man pages & more
man memchan(n)
Home | html | info | man
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 mem-
       chan. The package itself provides a number of in-memory channels  which
       can utilized to

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

       o      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 han-
              dle. If an initial size is specified the system  will  pre-allo-
              cate  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  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

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

       -allocated
              The  value of this option is the number of bytes currently allo-
              cated 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  con-
       tinuously.

       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 condi-
       tions 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 trying to
       read data back.


SEE ALSO

       fifo(n), fifo2(n), null(n)


KEYWORDS

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


COPYRIGHT

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




Memory channels                       2.2                           memchan(n)

Mac OS X 10.8 - Generated Sun Sep 9 15:35:28 CDT 2012
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.