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

# facade(3tcl)

Facade channel

```

```

## NAME

tcl::chan::facade - Facade channel

## SYNOPSIS

package require **Tcl 8.5 9**

package require **TclOO**

package require **logger**

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

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

**::tcl::chan::facade** *chan*

```

```

## DESCRIPTION

The **tcl::chan::facade** package provides a command creating facades to other channels. These are channels which own a single subordinate channel and delegate all operations to.

The main use for facades is the debugging of actions on a channel. While most of the information could be tracked by a virtual channel transformation it does not have access to the event-related operation, and furthermore they are only available in Tcl 8.6.

Therefore this channel, usable with Tcl 8.5, and having access to everything going on for a channel.

The intercepted actions on channel are logged through package **logger**.

Beyond that facades provide the following additional channel configuration options:

- **-self**

  The TclOO object handling the facade.

- **-fd**

  The handle of the subordinate, i.e. wrapped channel.

- **-used**

  The last time the wrapped channel was read from or written to by the facade, as per **clock milliseconds**. A value of **0** indicates that the subordinate channel was not accessed at all, yet.

- **-created**

  The time the facade was created, as per **clock milliseconds**.

- **-user**

  A free-form value identifying the user of the facade and its wrapped channel.

Of these only option **-user** is writable.

## API

- **::tcl::chan::facade** *chan*

  This command creates the facade channel around the provided channel *chan*, 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

concatenation channel, reflected channel, tip 219, virtual channel

## CATEGORY

Channels

## COPYRIGHT

```
Copyright (c) 2011 Andreas Kupries <andreas_kupries@users.sourceforge.net>
```
