2013/5/10 Ben Coman <btc@openinworld.com>
Luc Fabresse wrote:
Hi all,
I am *experimenting* with the replacement of the current network layer with OCEAN. My current plan is to make Zinc tests green while working on the top of OCEAN. And investigate the removal of all the current Network classes (does it play?). After looking at Zinc code, there are few dependencies. Basically, I implemented an OCNSOcketStream (inheriting from SocketStream) and redefined some methods of ZnNetworkingUtils. It seems to play so far (green tests).
But then, I discovered that Zodiac introduces a new SocketStream hierarchy (ZdcAbstractSocketStream). Now remember the mails of Sven.
So my questions are:
1) Is the intent of ZdcSocketStream to be a future replacement for SocketStream?
2) why ZnNetworkingUtils>>initialize makes use of SocketStream instead of ZdcSocketStream? why the code isn't something like that: ZnNetworkingUtils>>initialize super initialize. self socketStreamClass: (Smalltalk globals at: #ZdcSocketStream ifAbsent: [ SocketStream ]) . self secureSocketStreamClass: (Smalltalk globals at: #ZdcSecureSocketStream ifAbsent: [ nil ])
Moreover, I guess that ZdcSocketStream should speed up things (it says optimized version in the name of the superclass ;-)). So probably, my OCNSOcketStream should better inherit from ZdcSocketStream.
Thanks for giving me some light here,
Luc
I'm not even close to knowing the answers you'd like, but it looks really interesting. Slide 9 at [1] shows Alien being used to interact with the OS Network API. What are you thoughts on NativeBoost being used instead ?
It is old slides ;-) History: At the beginning we would like to replace the Network VM plugin by wraping the POSIX socket layer through Alien. At that time, we chose Alien because it supports callbacks. And it was a nightmare to use Nativeboost because it required a special VM (with NB plugin) but that VM had not some Network primitives about ipv6 and UDP. Now things are much much better ;-) one VM and everything inside. But now we focus on the image part (Network API) that still uses the plugin as backend (no need for Alien at all). When it will work we will implement another backend with NB probably. I know that Igor started one. But I would to investigate wrapping ZeroMQ (I saw some mails about that). Cheers, Luc
[1] http://www.slideshare.net/**esug/ocean-5305932<http://www.slideshare.net/esug/ocean-5305932>
cheers -ben