[Pharo-project] Network training

Noury Bouraqadi bouraqadi at gmail.com
Fri Feb 4 14:48:10 CET 2011

On 4 févr. 2011, at 12:38, jannik.laval wrote:

> On Feb 4, 2011, at 09:48 , Igor Stasenko wrote:
>> On 4 February 2011 09:19, Laval Jannik <jannik.laval at gmail.com> wrote:
>>> but how can i find these ip address in pharo?
>> perhaps by writing new primitive :)
> Is there one already existing ?
I don't think so.
An alternative might be to use an Ocean-like approach and call OS features directly through some FFI.

> Now, another thing, the method: NetNameResolver>>isConnected.
> Inside there is this code:
> ===
> isConnected
> 	"Dirty, but avoids fixing the plugin bug"
> 	[NetNameResolver addressForName: 'www.esug.org'.] on: NameLookupFailure do: [:ex| ^false].
> 	^true
> ===
> The comment is clear... is the plugin bug fixed ?

Luc and I decided that it does not worth it struggling with the plugin.
This is why we initiated the Ocean project (plugin-free networking) available on SqueakSource.

We made interesting (though slow) progress so far.
Currently we have a complete library for TCP client socket.
For the server socket to be usable we need multithreading Alien which is not available yet. Hope Eliot will have time to work on this soon or may be we'll get NativeBoost working on all major platforms (Go Igore!!!).

Instead of remaining stalled or hacking some temporary solution, we changed a bit our strategy in order to have (hopefully) support for TCP sockets ready for Pharo 1.3. Our idea is that the limitations of networking problem have 2 origins: The poor library and the plugin.

We decided to put all our effort on the library and having it work with the plugin. We are re-writing it fully with tests.
Our design is independent of the low-level network support (Bridge pattern).
So, we can (didn't test yet) be able to work either with the plugin or with any external networking library, through Alien or other FFI.
Once we'll be done with the library, we'll tackle the plugin issue.

The Ocean is wide, we have to row a lot ;-)

More information about the Pharo-project mailing list