This page describe all known channels, including those in extensions. Part of the benefit is so that people implementing new channels can look at how others have done it. - DL
Built-in Channels
- file
- File/device/process channel (create with open)
- sock
- TCP channel (create with socket)
Extension Channels
- exp
- Pty/process channel (create with spawn). Expect extension. [L1 ] Don Libes
- tls
- SSL channel (create with tls::socket). TLS extension. [L2 ]
- x25
- X.25 switched virtual circuit (create with x25::socket). x25 extension. [L3 ]
- memchan
- In-memory channels. memchan extension Andreas Kupries
- fifo
- In-memory channel, fifo-behaviour. memchan extension (s.a.)
- random
- In-memory channel providing a random data stream memchan extension
- null
- In-memory channel that sinks data. memchan extension
- zero
- In-memory channel that sinks data and emits zeros. memchan extension
- mod_dtcl
- mod_dtcl has a file channel built in to interact with Apache [L4 ]
- CacheOut
- CacheOut does just that - it stores everything that goes to stdout from when it is started untill it stops. Can be used by higher level Tcl scripts to cache output (useful for things like web pages). Available at [L5 ]
- rchan
- Reflective channels - they "reflect" channel-reads, -writes, and -seeks to Tcl, i.e. you create an "rchan" and code the implementation in Tcl. Part of Tclkit and used to build a memchan-lookalike, but now also turned into a separate Critcl extension at [L6 ] by Jean-Claude Wippler. Same idea as reflected channels, but a different (earlier ?) implementation.
- iocpsock
- high performance sockets for WinNT systems iocpsock
- udp
- Supports sending and receiving UDP (User Datagram Protocol) packets from Tcl. [L7 ]
- storage
- The tclstorage package wraps the Microsoft Structured Storage file format and exposes IStream objects via Tcl channels [L8 ]
- ftd2xx
- Communication with USB devices using the FTDI chipset [L9 ]
- twapi
- Includes named pipe and TLS/SSL socket channels on Windows
- SQLite incrblob [L10 ]
- Read/write access to existing database BLOBs. (AMG: At present, has bugs with respect to channel readability events [L11 ].)
Stackable Channels
See stacked channel.
See Also
- A template reflected channel
- TclOO Channels
- Changing stdout, redefining puts and avoiding console show
- Includes some minimal examples of reflected channels and transformers.
Other documentation
- Tcl Core IO System