sunet-devel
[Top] [All Lists]

Re: Network API proposal, first status of implementation for Scheme 48

To: Scheme 48 mailing list <scheme-48@s48.org>, sunet-devel@scsh.net
Subject: Re: Network API proposal, first status of implementation for Scheme 48
From: Andreas Rottmann <a.rottmann@gmx.at>
Date: Thu, 03 Nov 2005 08:35:07 +0100
Cancel-lock: sha1:EafCLg6ZojLQlUFAiTaN6TUUCiM=
List-id: <sunet-devel.list-id.scsh.net>
Newsgroups: gmane.lisp.scheme.scsh, gmane.lisp.scheme.scsh.devel
Posted-to: gmane.lisp.scheme.scsh,gmane.lisp.scheme.scsh.devel
The following message is a courtesy copy of an article
that has been posted to gmane.lisp.scheme.scsh,gmane.lisp.scheme.scsh.devel as 
well.

Andreas Rottmann <a.rottmann@gmx.at> writes:

> If have now started implementing this for Scheme 48; at the bottom
> of the mail is a short note on the current status and some
> implementation details.
>
Forgot that:

+ New structures NETWORKING, NETWORKING-INTERNALS. These implement the
  new networking interface.

+ The C part has been refactored quite a bit; once this is complete, the
  C part should only be driven by the NETWORKING package, and SOCKET
  should use the NETWORKING-INTERNALS or NETWORKING structures only.
  Currently, there is a mismatch between the SOCKET structure and the C
  code, effectivly breaking SOCKET for the most part (see below).

+ TCP client interface implemented; old SOCKET-CLIENT interface in SOCKET 
  implemented on top of NETWORKING-INTERNALS.
  
  - Extended functionality (both old and new interface):
     + IPv6 support
     + Proper condition objects, so network failures can be handled 
       gracefully
  - Extended functionality (new interface):
     + Allows to specify local interface address and port number to 
       bind to.
     + Allows retrieval of remote and local network addresses by 
       introducing a connection disjoint type.
     + Allows plug-in of alternate host name resolvers; like the old
       interface, the default resolver uses gethostbyname(), which
       block all threads, it now however is possible to use a more
       sophisticated thread-respecting resolver, like the one in
       SUNet.

+ TCP server interface implemented

Regards, Rotty
-- 
Andreas Rottmann         | Rotty@ICQ      | 118634484@ICQ | a.rottmann@gmx.at
http://yi.org/rotty      | GnuPG Key: http://yi.org/rotty/gpg.asc
Fingerprint              | DFB4 4EB4 78A4 5EEE 6219  F228 F92F CFC5 01FD 5B62
v2sw7MYChw5pr5OFma7u7Lw2m5g/l7Di6e6t5BSb7en6g3/5HZa2Xs6MSr1/2p7 hackerkey.com

It's *GNU*/Linux dammit!

<Prev in Thread] Current Thread [Next in Thread>