The Inbox: Network-cmm.100.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Inbox: Network-cmm.100.mcz

commits-2
A new version of Network was added to project The Inbox:
http://source.squeak.org/inbox/Network-cmm.100.mcz

==================== Summary ====================

Name: Network-cmm.100
Author: cmm
Time: 30 January 2011, 2:49:47.664 pm
UUID: 38c367c6-54a9-406c-94ad-c414b90a3987
Ancestors: Network-ul.99

When shouldSignal is true, we should pass the exception, not ignore it!

=============== Diff against Network-ul.99 ===============

Item was changed:
  ----- Method: SocketStream>>flush (in category 'control') -----
  flush
  "If the other end is connected and we have something
  to send, then we send it and reset the outBuffer."
+ (outNextToWrite > 1 and: [ socket isOtherEndClosed not ]) ifTrue:
+ [ [ self
+ sendData: outBuffer
+ count: outNextToWrite - 1 ]
+ on: ConnectionTimedOut
+ do: [ : ex | shouldSignal ifTrue: [ ex pass ] ].
+ outNextToWrite := 1 ]!
-
- ((outNextToWrite > 1) and: [socket isOtherEndClosed not])
- ifTrue: [
- [self sendData: outBuffer count: outNextToWrite - 1]
- on: ConnectionTimedOut
- do: [:ex | shouldSignal ifFalse: ["swallow"]].
- outNextToWrite := 1]!

Item was changed:
  ----- Method: SocketStream>>nextPutAllFlush: (in category 'stream out') -----
+ nextPutAllFlush: aCollection
- nextPutAllFlush: aCollection
  "Put a String or a ByteArray onto the stream.
  You can use this if you have very large data - it avoids
  copying into the buffer (and avoids buffer growing)
  and also flushes any other pending data first."
-
  | toPut |
+ toPut := binary
+ ifTrue: [ aCollection asByteArray ]
+ ifFalse: [ aCollection asString ].
+ self flush.
+ "first flush pending stuff, then directly send"
+ socket isOtherEndClosed ifFalse:
+ [ [ self
+ sendData: toPut
+ count: toPut size ]
- toPut := binary ifTrue: [aCollection asByteArray] ifFalse: [aCollection asString].
- self flush. "first flush pending stuff, then directly send"
- socket isOtherEndClosed ifFalse: [
- [self sendData: toPut count: toPut size]
  on: ConnectionTimedOut
+ do: [ : ex | shouldSignal ifTrue: [ ex pass ] ] ]!
- do: [:ex | shouldSignal ifFalse: ["swallow"]]]!