[Pharo-project] Zodiac - 1st delivery - A new (binary) socket stream

Luc Fabresse luc.fabresse at gmail.com
Wed May 18 02:00:20 EDT 2011


Hi Sven,

 That's a really really news.
 I look forward when we will reach a stable point for Ocean to use Zodiac on
top of it.
 FYI, Ocean is a re-implementation of Sockets (Netnameresolver, IpAddress,
....).

Cheers,

#Luc



2011/5/17 Sven Van Caekenberghe <sven at beta9.be>

> Hi,
>
> I would like to announce Zodiac, the project created in response to
>
>        http://forum.world.st/WebClient-for-1-2-2-tt3485946.html#a3503921
>
> according to the plan described in
>
>
> http://forum.world.st/SSL-HTTPS-SecureSocketStream-SSLSession-for-Pharo-Squeak-and-other-Smalltalk-implementations-tc3517404.html#a3517719
>
> You can follow the development by looking at the code in
>
>        http://www.squeaksource.com/Zodiac.html
>
> Here is the first delivery: a new (binary) socket stream implementation.
>
> Warning: this is of course not yet code for general consumption, use the
> source and the comments. This is a proof of concept.
>
> This package has no further dependencies and does not add anything to
> system classes, it is thus safe to load.
>
> There are four stream classes, ZdcAbstractSocketStream,
> ZdcSimpleSocketStream, ZdcOptimizedSocketStream and ZdcSocketStream,
> inheriting from each other, adding successively more optimized
> implementations of the standard Smalltalk stream primitives. There is one
> helper class, ZdcIOBuffer to help in managing read and write buffers inside
> the streams. The interface towards Socket is also quite small (i.e. only a
> very small amount of the functionality in Socket is used).
>
> The 48 units tests as well as the functional test (see further) are all
> green on Pharo 1.2.x and 1.3 as well as on Squeak 4.2.
>
> The functional test is the following: Zinc HTTP Components recently got a
> its ZnNetworkingUtils class turned into a socket stream factory. By loading
> the new package Zinc-Zodiac from the ZincHTTPComponents repository, you can
> ask Zn to use the new socket stream implementation, like this:
>
>        ZnNetworkingUtils default: ZnZodiacNetworkingUtils new.
>
> To reset, just do:
>
>        ZnNetworkingUtils default: nil.
>
> The cool thing is: all of Zn's 151 unit tests, most doing actual HTTP
> client and server interactions (some over the internet) succeed using the
> new Zodiac socket stream implementation.
>
> Enjoy!
>
> Sven
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20110518/b5040b7c/attachment.html>


More information about the Pharo-dev mailing list