[ Home Page ] [ Eiffel Archive ] [ Eiffel Classes and Clusters ]

Arc de Triomphe clipart (2486 bytes)

ESockets : The Eiffel Sockets Library

Written by Jeffrey Straszheim.

http://www.shadow.net/~stimuli/ The Homepage of Jeffrey and Bridget Straszheim
esockets_0_0_7_tar.gz (82261 bytes) Version 0.0.7 for Small Eiffel -0.78
esockets_0_0_6_tar.gz (81648 bytes) Version 0.0.6 for Small Eiffel -0.78
Frank Arnaud has put together ports to Win32. They are here:
es006win32.zip (9612 bytes) Win32 port for version 0.0.6


This is the current working release of my Eiffel Sockets Library, an open source library project. It is being released under the Eiffel Forum Freeware License. I intend for this to fill the role of an application level networking library, which encourages higher level abstractions and reusable data manipulation mechanisms.

The current version of this project supports Small Eiffel version -0.78. It's been tested on Linux (kernel 2.0.36 and glibc 2.0.7). There have been some minor tests done on other platforms, but nothing official. It doesn't do too much adventurous, so porting to other unices should be straightforward. There is no reason it can't be ported to other platforms (other than my time, resources, and wherewithal to do so). If you get this working on another platform, and you would be willing in the future to test new versions as they come, please drop me a line.


Version 0.0.7 is available

Here's the latest version. The principle change has been the addition of a start feature to the various mechanisms. This was to address the bug that Frank Arnaud discovered with the sequencing of the CONNECT_MECHANISM, namely that its callback to the manager object may happen when the reference within the manager is not fully constructed. I could have coded around this, but concluded that it would be better for the library if a presented a simpler face to the users. Frank also sent me an updated Win32 patch.

Since we're on the subject of bugs, there has been some odd behavior observed within the ECHO_SERVER, mainly its seeming to freeze up. I've only experienced it once here, and when I did it seemed to be happening within the Small Eiffel GC code somewhere; however, I can't get it to repeat so as to give more details. While there is a good chance that this is SE's problem and not mine, I'd still like to pin it down if for nothing else to pass it one to the SE folks. It has been sugested that RAW_MEMORY may be to blame, not the class itself, per se, but the fact that it is expanded. Many Eiffels do seem to have problems handling expanded well. I could make it a reference, but that's a lot of work and I'm hesitant without more solid information. Drop me a line if any of you discover something.

As a final note, it has been suggested to me to possibly put ESockets up in a CSV somewhere. I'm happy to do this; however, I have to plead ignorance on exactly how a CSV works and so forth (being an amature programmer has left me blissfully ignorant of such thins as revision systems). In any event, if someone could perhaps send me a quick rundown of how a CSV works, how I find one, and how I go about putting the code into it, that would be great. I think ESockets has reached the point where it needn't be my baby on my harddrive any longer. He's starting to grow up and its time he moved out into the community.

Happy coding.

Copyright 1999 by Jeffrey Straszheim

[ Home Page ] [ Eiffel Archive ] [ Eiffel Classes and Clusters ]