1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
[comment {-*- tcl -*- doctools manpage}]
[manpage_begin tcl::chan::facade n 1.1]
[keywords {concatenation channel}]
[keywords {reflected channel}]
[keywords {tip 219}]
[keywords {virtual channel}]
[copyright {2011 Andreas Kupries <andreas_kupries@users.sourceforge.net>}]
[moddesc {Reflected/virtual channel support}]
[category Channels]
[titledesc {Facade channel}]
[require Tcl "8.5 9"]
[require TclOO]
[require logger]
[require tcl::chan::core [opt 1.1]]
[require tcl::chan::facade [opt 1.1]]
[description]
[para]
The [package 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.
[para] 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.
[para] Therefore this channel, usable with Tcl 8.5, and having access
to everything going on for a channel.
[para] The intercepted actions on channel are logged through package
[package logger].
[para] Beyond that facades provide the following additional channel
configuration options:
[list_begin options]
[opt_def -self]
The TclOO object handling the facade.
[opt_def -fd]
The handle of the subordinate, i.e. wrapped channel.
[opt_def -used]
The last time the wrapped channel was read from or written to by
the facade, as per [cmd {clock milliseconds}]. A value of [const 0]
indicates that the subordinate channel was not accessed at all, yet.
[opt_def -created]
The time the facade was created, as per [cmd {clock milliseconds}].
[opt_def -user]
A free-form value identifying the user of the facade and its
wrapped channel.
[list_end]
Of these only option [option -user] is writable.
[section API]
[list_begin definitions]
[call [cmd ::tcl::chan::facade] [arg chan]]
This command creates the facade channel around the provided
channel [arg chan], and returns its handle.
[list_end]
[vset CATEGORY virtchannel]
[include ../common-text/feedback.inc]
[manpage_end]
|