1tcl::chan::facade(n) Reflected/virtual channel support tcl::chan::facade(n)
2
3
4
5______________________________________________________________________________
6
8 tcl::chan::facade - Facade channel
9
11 package require Tcl 8.5
12
13 package require TclOO
14
15 package require logger
16
17 package require tcl::chan::core ?1?
18
19 package require tcl::chan::facade ?1?
20
21 ::tcl::chan::facade chan
22
23______________________________________________________________________________
24
26 The tcl::chan::facade package provides a command creating facades to
27 other channels. These are channels which own a single subordinate chan‐
28 nel and delegate all operations to.
29
30 The main use for facades is the debugging of actions on a channel.
31 While most of the information could be tracked by a virtual channel
32 transformation it does not have access to the event-related operation,
33 and furthermore they are only available in Tcl 8.6.
34
35 Therefore this channel, usable with Tcl 8.5, and having access to
36 everything going on for a channel.
37
38 The intercepted actions on channel are logged through package logger.
39
40 Beyond that facades provide the following additional channel configura‐
41 tion options:
42
43 -self The TclOO object handling the facade.
44
45 -fd The handle of the subordinate, i.e. wrapped channel.
46
47 -used The last time the wrapped channel was read from or written to by
48 the facade, as per clock milliseconds. A value of 0 indicates
49 that the subordinate channel was not accessed at all, yet.
50
51 -created
52 The time the facade was created, as per clock milliseconds.
53
54 -user A free-form value identifying the user of the facade and its
55 wrapped channel.
56
57 Of these only option -user is writable.
58
60 ::tcl::chan::facade chan
61 This command creates the facade channel around the provided
62 channel chan, and returns its handle.
63
65 This document, and the package it describes, will undoubtedly contain
66 bugs and other problems. Please report such in the category virtchan‐
67 nel of the Tcllib Trackers [http://core.tcl.tk/tcllib/reportlist].
68 Please also report any ideas for enhancements you may have for either
69 package and/or documentation.
70
71 When proposing code changes, please provide unified diffs, i.e the out‐
72 put of diff -u.
73
74 Note further that attachments are strongly preferred over inlined
75 patches. Attachments can be made by going to the Edit form of the
76 ticket immediately after its creation, and then using the left-most
77 button in the secondary navigation bar.
78
80 concatenation channel, reflected channel, tip 219, virtual channel
81
83 Channels
84
86 Copyright (c) 2011 Andreas Kupries <andreas_kupries@users.sourceforge.net>
87
88
89
90
91tcllib 1 tcl::chan::facade(n)