A new version of Network was added to project The Inbox:
http://source.squeak.org/inbox/Network-fbs.109.mcz==================== Summary ====================
Name: Network-fbs.109
Author: fbs
Time: 2 March 2011, 9:47:50.318 pm
UUID: 2fa743f8-8956-ef47-9bb0-b97bcc55c02d
Ancestors: Network-fbs.108
Cees de Groot's fix for <
http://bugs.squeak.org/view.php?id=7199>. It looks fine, and provides much-needed control over socket connection timeouts.
=============== Diff against Network-fbs.108 ===============
Item was changed:
----- Method: ProtocolClient>>ensureConnection (in category 'private') -----
ensureConnection
self isConnected
ifTrue: [^self].
self stream
ifNotNil: [self stream close].
+ self stream: (SocketStream openConnectionToHost: self host port: self port timeout: self standardTimeout).
- self stream: (SocketStream openConnectionToHost: self host port: self port).
self checkResponse.
self login!
Item was added:
+ ----- Method: ProtocolClient>>standardTimeout (in category 'private') -----
+ standardTimeout
+
+ ^ Socket standardTimeout!
Item was changed:
----- Method: SocketStream class>>openConnectionToHost:port: (in category 'instance creation') -----
openConnectionToHost: hostIP port: portNumber
+ ^ self openConnectionToHost: hostIP port: portNumber timeout: Socket standardTimeout!
- | socket |
- socket := Socket new.
- socket connectTo: hostIP port: portNumber.
- ^self on: socket!
Item was added:
+ ----- Method: SocketStream class>>openConnectionToHost:port:timeout: (in category 'instance creation') -----
+ openConnectionToHost: hostIP port: portNumber timeout: timeout
+ | socket |
+ socket _ Socket new.
+ socket connectTo: hostIP port: portNumber waitForConnectionFor: timeout.
+ ^self on: socket!