[Pkg] The Trunk: Network-mtf.105.mcz

commits at source.squeak.org commits at source.squeak.org
Sun Jan 16 01:30:56 UTC 2011

Matthew Fulmer uploaded a new version of Network to project The Trunk:

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

Name: Network-mtf.105
Author: mtf
Time: 15 January 2011, 8:27:54.184 pm
UUID: 1b2c2f95-fc87-4b1f-a034-4dc2cb793c9b
Ancestors: Network-cmm.103

the SocketStream refactor broke the semantics of no-timeout streams. no timeout is supposed to mean we wait potentially forever. It was broken to mean timeout silently rather than with a signal.

=============== Diff against Network-cmm.103 ===============

Item was added:
+ ----- Method: BrowserUrl>>retrieveContentsForBrowser: (in category 'downloading') -----
+ retrieveContentsForBrowser: aBrowser
+ 	^aBrowser browserUrlContents: locator!

Item was changed:
  ----- Method: SocketStream>>receiveData (in category 'private-socket') -----
+ 	self waitForData.
- 	"Receive data. Signal exceptions and timeouts depending on #shouldSignal and #shouldTimeout. Return the position in the buffer where the new data starts, regardless if anything was read."
- 	socket
- 		waitForDataFor: self timeout
- 		ifClosed: [self shouldSignal 
- 			ifTrue:[ConnectionClosed signal: 'Connection closed while waiting for data.']]
- 		ifTimedOut: [self shouldTimeout
- 			ifTrue:[ConnectionTimedOut signal: 'Data receive timed out.']].
  	^self receiveAvailableData!

Item was added:
+ ----- Method: SocketStream>>signalClosed (in category 'private-socket') -----
+ signalClosed
+ 	self shouldSignal ifFalse: [^ self]. 
+ 	ConnectionClosed signal: 'Connection closed while waiting for data.'!

Item was added:
+ ----- Method: SocketStream>>signalTimeout (in category 'private-socket') -----
+ signalTimeout
+ 	self shouldSignal ifFalse: [^ self]. 
+ 	ConnectionTimedOut signal: 'Data receive timed out.'!

Item was added:
+ ----- Method: SocketStream>>waitForData (in category 'private-socket') -----
+ waitForData
+ 	"Wait for data. If shouldTimeout, we will time out if nothing arrives, otherwise we wait indefinitely"
+ 	self shouldTimeout
+ 		ifTrue: [socket waitForDataFor: self timeout
+ 			ifClosed: [self signalClosed]
+ 			ifTimedOut: [self signalTimeout]]
+ 		ifFalse: [socket waitForDataIfClosed: [self signalClosed]]!

More information about the Packages mailing list