NAME¶
tcl::chan::facade - Facade channel
SYNOPSIS¶
package require
Tcl 8.5
package require
TclOO
package require
logger
package require
tcl::chan::core ?1?
package require
tcl::chan::facade ?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.
KEYWORDS¶
concatenation channel, reflected channel, tip 219, virtual channel
CATEGORY¶
Channels
COPYRIGHT¶
Copyright (c) 2011 Andreas Kupries <andreas_kupries@users.sourceforge.net>