links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
Proper Sockets
Last updated at 4:59 pm UTC on 22 March 2004
Note: Before making changes to this page, please read the
guidelines to SqueakCentralProjects (outdated). Thanks.

[Original page created by Dan Ingalls, I think. –crl, 17Aug2002]


     There is a much larger issue of a complete rewrite (along the lines of Craig Latta's Correspondents, see Flow!), and also of a general File System rewrite [both of which are provided by Flow, in addition to support for other transports –crl, 17Aug2002]. We probably need to discuss each of these more fully with regards to pros and cons and urgency. As Craig has pointed out, we will have to move the Mac to OpenTransport when support for MacTCP goes away anyway. [This issue is downright ancient with the advent of MacOS X, which is FreeBSD Unix underneath. Both OpenTransport and MacTCP are now dead, dead, dead. :) –crl, 17Aug2002]

Estimated completion date: December 1, 1999 [Er, I guess we should change this? :) –crl, 17Aug2002]

[August 8] project declared to exist

John Maloney
Craig Latta

Q/A, Integration
Mark Schwenk
Lex Spoon
Bijan Parsia
John McIntosh

General Commentary
A list of items (most recent first) of the form
[date, author] comment

[17 August 2002, Craig Latta]

     Well, since September 1999 I decided to use Squeak for some of my music work, and kept working on Flow. On 12 August 2002 I released version 2 alpha 1. It's much simpler to install; a single file-in installs the code and a plug-in. As with the previous release, you don't need to rebuild the VM. And now, with this release, you don't even need to restart your running Squeak system. As always, I'd very much apreciate any feedback. Thanks!

     Also, please note that "Correspondents" is the old name for the Flow framework I wrote. When the old name was in effect, the framework was concerned only with IP sockets, and the clients and servers one writes using them. Now, with Flow, I attempt to address streaming over a variety of different transports (including sockets, files, IEEE 1394 ("FireWire"), USB, MIDI, digital audio, serial ports, parallel ports, infrared, speech synthesis, and speech recognition. I think it's a good foundation for dealing with external resources in general, and writing device drivers and network services in particular.

     If you're referring to the entire framework, please use "Flow", not the old name. :) Thanks!

[July 8, 2000, ak] John McIntosh spent lots of time in June of 2000 porting Craig Latta's Correspondents/Flow work: see Flow.

[24 September 1999, Craig Latta]

     I think previous versions were stymied by Squeak Central updates. I was in the midst of porting Correspondents to the Squeak 2.5 when Dan's decision to use the TFEI exception-handling framework came out. Continuing with the port now means a lot of extra work that I don't think is worthwhile and don't have time to do. I'm not sure if I'm going to continue the port, or with using Squeak at all.

[Sept 22, 1999 BJP] Has anyone looked at SocketSet from TotallyObjects? http://www.totallyobjects.com/sockset.htm It's supposed to have a nice stream interface.

What about other Smalltalks? What do they do?

[Sept 9, 1999 LS] The new listenOn:backlog: primitive makes a real difference for Swikis! We have a modified Unix VM at Georgia Tech with the new primitive implemented. With this VM, you can now load a Swiki page that has images on it which are also loaded off the Swiki. Before, you had to reload the page a few times to get all of the images to successfully download.

[Sept 9, 1999 BJP] So, can we get this ported, or what? ;)

[Sept, 7, 1999, BJP] I still haven't been able to get Craig's revamped VM and Correspondents framework running. Has anyone else? Any pointers? (In the 2.3 image, on Windows, I get a hard crash on filein with the following log:

Current byte code: 200
Primitive index: 0
Stack dump [elided]

Anyone is invited to add to this list.
The implementors are free to remove and summarize any items more than two weeks old.