diff options
author | apnadkarni <apnmbx-wits@yahoo.com> | 2024-04-22 12:55:32 (GMT) |
---|---|---|
committer | apnadkarni <apnmbx-wits@yahoo.com> | 2024-04-22 12:55:32 (GMT) |
commit | d090615310bc91584c7349efb40b30212daf15cf (patch) | |
tree | 3e0a2c6b6d0ade6ac2017d3811254baf114e9473 /doc/fblocked.n | |
parent | c06a63e0d0c42692604c8362199564ca77b12346 (diff) | |
parent | e95fe9212364c32c0db3db397f5993bd06c80fda (diff) | |
download | tcl-d090615310bc91584c7349efb40b30212daf15cf.zip tcl-d090615310bc91584c7349efb40b30212daf15cf.tar.gz tcl-d090615310bc91584c7349efb40b30212daf15cf.tar.bz2 |
Consolidate channel documentation. close, puts etc. manpages now just reference chan
Diffstat (limited to 'doc/fblocked.n')
-rw-r--r-- | doc/fblocked.n | 52 |
1 files changed, 3 insertions, 49 deletions
diff --git a/doc/fblocked.n b/doc/fblocked.n index 44dfcd5..239c465 100644 --- a/doc/fblocked.n +++ b/doc/fblocked.n @@ -14,56 +14,10 @@ fblocked \- Test whether the last input operation exhausted all available input .BE .SH DESCRIPTION .PP -The \fBfblocked\fR command returns 1 if the most recent input operation -on \fIchannelId\fR returned less information than requested because all -available input was exhausted. -For example, if \fBgets\fR is invoked when there are only three -characters available for input and no end-of-line sequence, \fBgets\fR -returns an empty string and a subsequent call to \fBfblocked\fR will -return 1. -.PP -\fIChannelId\fR must be an identifier for an open channel such as a -Tcl standard channel (\fBstdin\fR, \fBstdout\fR, or \fBstderr\fR), -the return value from an invocation of \fBopen\fR or \fBsocket\fR, or -the result of a channel creation command provided by a Tcl extension. -.SH EXAMPLE -The \fBfblocked\fR command is particularly useful when writing network -servers, as it allows you to write your code in a line-by-line style -without preventing the servicing of other connections. This can be -seen in this simple echo-service: -.PP -.CS -# This is called whenever a new client connects to the server -proc connect {chan host port} { - set clientName [format <%s:%d> $host $port] - puts "connection from $clientName" - fconfigure $chan -blocking 0 -buffering line - fileevent $chan readable [list echoLine $chan $clientName] -} - -# This is called whenever either at least one byte of input -# data is available, or the channel was closed by the client. -proc echoLine {chan clientName} { - gets $chan line - if {[eof $chan]} { - puts "finishing connection from $clientName" - close $chan - } elseif {![\fBfblocked\fR $chan]} { - # Didn't block waiting for end-of-line - puts "$clientName - $line" - puts $chan $line - } -} - -# Create the server socket and enter the event-loop to wait -# for incoming connections... -socket -server connect 12345 -vwait forever -.CE +The \fBfblocked\fR command has been superceded by the \fBchan blocked\fR +command which supports the same syntax and options. .SH "SEE ALSO" -gets(n), open(n), read(n), socket(n), Tcl_StandardChannels(3) -.SH KEYWORDS -blocking, nonblocking +chan(n) '\" Local Variables: '\" mode: nroff '\" fill-column: 78 |