refactored win32streams

erg 2006-09-05 19:40:38 +00:00
parent 04a5a94d57
commit eeae2e173a
1 changed files with 6 additions and 8 deletions

View File

@ -89,17 +89,16 @@ M: integer do-write ( buffer integer -- )
ch>string swap >buffer ; ch>string swap >buffer ;
M: string do-write ( buffer string -- ) M: string do-write ( buffer string -- )
dup length pick buffer-capacity <= [ dup length pick 2dup buffer-capacity <= [
swap >buffer 2drop swap >buffer
] [ ] [
dup length pick buffer-size > [ 2dup buffer-size > [
dup length pick extend-buffer extend-buffer
] [ ] [
flush-output 2drop flush-output
] if do-write ] if do-write
] if ; ] if ;
M: win32-stream stream-close ( stream -- ) M: win32-stream stream-close ( stream -- )
win32-stream-this [ win32-stream-this [
out-buffer get maybe-flush-output out-buffer get maybe-flush-output
@ -108,7 +107,6 @@ M: win32-stream stream-close ( stream -- )
out-buffer get buffer-free out-buffer get buffer-free
] bind ; ] bind ;
M: win32-stream stream-read1 ( stream -- ch/f ) M: win32-stream stream-read1 ( stream -- ch/f )
win32-stream-this [ win32-stream-this [
1 in-buffer get consume-input >string-or-f first 1 in-buffer get consume-input >string-or-f first
@ -134,7 +132,7 @@ M: win32-stream stream-write ( str stream -- )
M: win32-stream set-timeout ( n stream -- ) M: win32-stream set-timeout ( n stream -- )
win32-stream-this [ timeout set ] bind ; win32-stream-this [ timeout set ] bind ;
M: win32-stream expire ! not a generic M: win32-stream expire ( stream -- )
win32-stream-this [ win32-stream-this [
timeout get [ millis cutoff get > [ handle get CancelIo ] when ] when timeout get [ millis cutoff get > [ handle get CancelIo ] when ] when
] bind ; ] bind ;