logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

tcl::chan::core - Basic reflected/virtual channel support

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 TcllibTrackers [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 unifieddiffs, 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

Class Api

::tcl::chan::coreobjectName
              This command creates a new channel core object with an associated global Tcl command whose name is
              objectName.  This  command may be used to invoke various operations on the object, as described in
              the section for the InstanceAPI.

Description

       The  tcl::chan::core  package  provides  a  TclOO class implementing common behaviour needed by virtually
       every reflected or virtual channel (initialization, finalization).

       This class expects to be used as either superclass of a concrete channel class, or to be mixed into  such
       a class.

Instance Api

       The API of channel core instances provides only  two  methods,  both  corresponding  to  channel  handler
       commands  (For  reference  see  TIP219 [http:/tip.tcl.tk/219]). They expect to be called from whichever
       object instance the channel core was made a part of.

       objectNameinitializethechannelmode
              This method implements standard behaviour for the initialize method  of  channel  handlers.  Using
              introspection it finds the handler methods supported by the instance and returns a list containing
              their names, as expected by the support for reflected channels in the Tcl core.

              It further remembers the channel handle in an instance variable for access by sub-classes.

       objectNamefinalizethechannel
              This  method  implements standard behaviour for the finalize method of channel handlers. It simply
              destroys itself.

       objectNamedestroy
              Destroying the channel core instance closes the channel it was initialized  for,  see  the  method
              initialize.  When  destroyed  from  within  a  call  of  finalize  this does not happen, under the
              assumption that the channel is being destroyed by Tcl.

Keywords

       reflected channel, tip 219, virtual channel

Name

       tcl::chan::core - Basic reflected/virtual channel support

Synopsis

       package require Tcl8.59

       package require TclOO

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

________________________________________________________________________________________________________________

See Also