The Trunk: Network-ar.78.mcz

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

The Trunk: Network-ar.78.mcz

commits-2
Andreas Raab uploaded a new version of Network to project The Trunk:
http://source.squeak.org/trunk/Network-ar.78.mcz

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

Name: Network-ar.78
Author: ar
Time: 5 August 2010, 12:24:17.908 pm
UUID: c0c6ce57-a1aa-a245-be4c-4f6fbd7f6a2b
Ancestors: Network-ar.77

Fixes for broken SocketStream behavior.

=============== Diff against Network-ar.77 ===============

Item was changed:
  ----- Method: SocketStream>>upToEnd (in category 'stream in') -----
  upToEnd
  "Answer all data coming in on the socket until the socket
  is closed by the other end, or we get a timeout.
  This means this method catches ConnectionClosed by itself.
 
  NOTE: Does not honour timeouts if shouldSignal is false!!"
 
+ [[self isConnected] whileTrue: [self receiveData]]
- [[self atEnd] whileFalse: [self receiveData]]
  on: ConnectionClosed
  do: [:ex | "swallow it"].
  ^self nextAllInBuffer!

Item was changed:
  ----- Method: SocketStream>>receiveData: (in category 'control') -----
  receiveData: nBytes
  "Keep reading the socket until we have nBytes
  in the inBuffer or we reach the end. This method
  does not return data, but can be used to make sure
  data has been read into the buffer from the Socket
  before actually reading it from the FastSocketStream.
  Mainly used internally. We could also adjust the buffer
  to the expected amount of data and avoiding several
  incremental grow operations.
 
  NOTE: This method doesn't honor timeouts if shouldSignal
  is false!! And frankly, I am not sure how to handle that
  case or if I care - I think we should always signal."
 
+ [self isConnected and: [nBytes > self inBufferSize]]
- [self atEnd not and: [nBytes > self inBufferSize]]
  whileTrue: [self receiveData]!