Home › Reflected/virtual channel support tcllib
tcl::chan::facade
Facade channel
literal type exactly as shown
argument replace with your value
?optional? may be omitted
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 of0indicates 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
-useris writable.
API#
::tcl::chan::facadechan#-
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.
Category#
Channels
Copyright#
Copyright (c) 2011 Andreas Kupries <andreas_kupries@users.sourceforge.net>
Keywords#
concatenation channel · reflected channel · tip 219 · virtual channel