Attachment "save.anno" to
ticket [2827000fff]
added by
coldstore
2009-07-25 20:19:53.
The refchan is rc18, the underlying socket is sock15.
* The rc18 initialize is called:
chan @@{rc18 initialize sock15 read write (-blocking 1 -buffering full -buffersize 4096 -encoding iso8859-1 -eofchar {{} {}} -translation {auto crlf} -peername {60.241.67.53 60-241-67-53.static.tpgi.com.au 61483} -sockname {70.85.16.128 li10-128.members.linode.com 8080})}
* the app turns blocking off:
chan @@{rc18 blocking sock15 0 -> }
(app creates its reader) Httpd @@{create reader ::Httpd::rc18_1504 - socket rc18 prototype {-host wiki.tcl.tk -port 80 -httpd Httpd -id 1 -cid 19 -sock rc18 -ipaddr 60.241.67.53 -rport 61483 -received_seconds 1248499688 -server_id {Wub 4.0} -version 1.1 -generation 19} generation 19 cid 19 log file6}
* as a result of an app [gets], tcl watches reads on the rc:
chan @@{rc18 watch sock15 read}
* Chan reports rc18 is readable, as sock15 is:
chan @@{rc18 readable sock15}
* rc18 read is called. 4096 bytes are requested, 1440 bytes are delivered:
chan @@{rc18 read sock15 4096 -> 1440 bytes 'POST /_/edit/save HTT...tion+with+concommitta'}
* tcl is no longer watching readable:
chan @@{rc18 watch sock15 }
(App parses the header from some of the received bytes: Httpd @@{::Httpd::rc18_1504 reader got request: (...)})
* tcl reads a buffer's worth of bytes from rc18, but there are no bytes buffered in sock15, so an empty string is returned:
chan @@{rc18 read sock15 4096 -> 0 bytes '...'}
* tcl watches read (presumably because the app has a fileevent readable):
chan @@{rc18 watch sock15 read}
* application calles [eof rc18] which returns true, and terminates its reader:
Httpd @@{::Httpd::rc18_1504 terminate: (entity)}
* tcl stops watching:
chan @@{rc18 watch sock15 }
* app closes rc18, chan is finalized and Char instance destroyed:
chan @@{rc18 finalize sock15}
chan @@{::oo::Obj44 destroyed}