---
name: "tcllib_memchan"
section: "3tcl"
platform: "linux"
package: "tcllib"
version: "2.0+dfsg-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/tcllib_memchan"
---

# tcllib\_memchan(3tcl)

In-memory channel

```

```

## NAME

tcl::chan::memchan - In-memory channel

## SYNOPSIS

package require **Tcl 8.5 9**

package require **TclOO**

package require **tcl::chan::events ?1.1?**

package require **tcl::chan::memchan ?1.0.5?**

**::tcl::chan::memchan**

```

```

## DESCRIPTION

The **tcl::chan::memchan** package provides a command creating channels which live purely in memory. They provide random-access, i.e. are seekable. This is equivalent to the memchan channels provided by the package **Memchan**, except that this is written in pure Tcl, not C. On the other hand, **Memchan** is usable with Tcl 8.4 and before, whereas this package requires Tcl 8.5 or higher, and **TclOO**.

Packages related to this are **tcl::chan::string** and **tcl::chan::variable**.

The internal **TclOO** class implementing the channel handler is a sub-class of the **tcl::chan::events** framework.

## API

- **::tcl::chan::memchan**

  This command creates a new memchan channel and returns its handle.

## BUGS, IDEAS, FEEDBACK

This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category *virtchannel* of the *Tcllib Trackers* \[http://core.tcl.tk/tcllib/reportlist\]. Please also report any ideas for enhancements you may have for either package and/or documentation.

When proposing code changes, please provide *unified diffs*, i.e the output of **diff -u**.

Note further that *attachments* are strongly preferred over inlined patches. Attachments can be made by going to the **Edit** form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.

## KEYWORDS

in-memory channel, reflected channel, tip 219, virtual channel

## CATEGORY

Channels

## COPYRIGHT

```
Copyright (c) 2009-2017 Andreas Kupries <andreas_kupries@users.sourceforge.net>
```
