Check-in [fc09503cdc]

Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Revision through web from Alexandre Ferrieux <alexandre.ferrieux@gmail.com> Added implementation of the type dependent part.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256:fc09503cdc0823798e966f88975b9d39926855369915f95675028131c095ab46
User & Date: tclhttpd 2008-11-16 22:58:48
Context
2008-11-18
14:21
Added link to ref.impl. check-in: 5a37bbd45d user: dkf tags: trunk
2008-11-16
22:58
Revision through web from Alexandre Ferrieux <alexandre.ferrieux@gmail.com> Added implementation of the type dependent part. check-in: fc09503cdc user: tclhttpd tags: trunk
10:33
oops check-in: abf5809ecd user: dkf tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to tip/332.tip.

1
2
3
4
5
6
7
8
9
10
...
112
113
114
115
116
117
118


119
120
121
122
123
124
125
TIP:            332
Title:          Half-Close for Bidirectional Channels
Version:        $Revision: 1.2 $
Author:         Alexandre Ferrieux <alexandre.ferrieux@gmail.com>
State:          Draft
Type:           Project
Vote:           Pending
Created:        25-Sep-2008
Post-History:   
Keywords:       Tcl,channel,close,socket,shutdown
................................................................................

   > int '''Tcl_CloseEx'''(Tcl_Interp *''interp'', Tcl_Channel ''chan'', int ''flags'')

The behavior being defined as mirrorring the script-level semantics described bove, where ''flags'' is either 0 (meaning bidirectional close) or one of TCL_CLOSE_READ and TCL_CLOSE_WRITE (meaning half-close).

~ Reference Implementation



Coming soon. After a discussion with Andreas Kupries, the plan is to half-close-enable only raw (unstacked) channels for the time being, raising an explicit error when trying a half-close on a non-bottom channel. This leaves time to carefully design the necessary API extension of the generic stacking and reflection layers, while preparing a fully compatible change (error cases becoming valid).

On the channel-type-dependent side, only sockets and pipelines will be half-close-enabled for now: these are assumed to represent the most pressing demand.

~ Copyright

This document has been placed in the public domain.


|







 







>
>
|






1
2
3
4
5
6
7
8
9
10
...
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
TIP:            332
Title:          Half-Close for Bidirectional Channels
Version:        $Revision: 1.3 $
Author:         Alexandre Ferrieux <alexandre.ferrieux@gmail.com>
State:          Draft
Type:           Project
Vote:           Pending
Created:        25-Sep-2008
Post-History:   
Keywords:       Tcl,channel,close,socket,shutdown
................................................................................

   > int '''Tcl_CloseEx'''(Tcl_Interp *''interp'', Tcl_Channel ''chan'', int ''flags'')

The behavior being defined as mirrorring the script-level semantics described bove, where ''flags'' is either 0 (meaning bidirectional close) or one of TCL_CLOSE_READ and TCL_CLOSE_WRITE (meaning half-close).

~ Reference Implementation

See Patch 219159 [https://sourceforge.net/tracker/index.php?func=detail&aid=219159&group_id=10894&atid=310894].

After a discussion with Andreas Kupries, the plan is to half-close-enable only raw (unstacked) channels for the time being, raising an explicit error when trying a half-close on a non-bottom channel. This leaves time to carefully design the necessary API extension of the generic stacking and reflection layers, while preparing a fully compatible change (error cases becoming valid).

On the channel-type-dependent side, only sockets and pipelines will be half-close-enabled for now: these are assumed to represent the most pressing demand.

~ Copyright

This document has been placed in the public domain.