Hi Jeff!<div><br>Great!</div><div><br></div><div>This is useful in several ways.</div><div><br></div><div>One usecase when it's quite critical is if implementing networked Gambit-based applications that do not use Gambit's runtime library.</div>

<div><br></div><div><br></div><div>Some side reflections on Gambit UDP/IPv6 support and uses for direct access to socket routines like your library provides and cooperation between that and Gambit's IO system:</div><div>

<br></div><div>I believe there is some UDP support implemented into Gambit's ports system, Marc mentioned he has preliminary such in this email <a href="https://mercure.iro.umontreal.ca/pipermail/gambit-list/2006-July/000769.html">https://mercure.iro.umontreal.ca/pipermail/gambit-list/2006-July/000769.html</a> . I'd be interested in getting my hands on this someday as it supposedly is integrated with the Gambit scheduler, which is useful for several things.</div>

<div><br></div><div>I thought I remembered there's an IPv6 patch for Gambit's builtin IO but can't find any reference to it right now. In all cases it would be a very worthy thing to do, to get UDP and hybrid-IPv4-v6 support into Gambit.</div>

<div><br></div><div>There are ways to wrap OS sockets into Gambit ports and the other way around (for TCP only?). Sometimes this is useful. Could be explored by a library. </div><div><br></div><div>For instance, to make a Unix socket server and client Gambit port implementation. If of interest to anyone, I have code for one or two routines in this area to share.</div>

<div><br></div><div>Or, doing accept:s with your library in such a way that the IP of the other host is registered and retained by the Gambit application, and then otherwise keeping ordinary Gambit TCP port behavior for the accepted connection.</div>

<div><br></div><div>Best regards,</div><div>Mikael</div><div><br><div class="gmail_quote">2012/10/25 Jeff Read <span dir="ltr"><<a href="mailto:bitwize@gmail.com" target="_blank">bitwize@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<p>All,</p>
<p>The socket library I've been working off-and-on on for some time is now listed on the Dumping Ground. Gamsock is a POSIX socket library with an API similar to the Scsh socket API. It makes applications possible with Gambit that aren't possible with its built in TCP port API, including applications that use UDP, or Unix-domain or IPv6 sockets.</p>



<p>It's available on GitHub: <a href="https://github.com/bitwize/gamsock" target="_blank">https://github.com/bitwize/gamsock</a></p>
<p>Happy socket hacking!</p><span class="HOEnZb"><font color="#888888">
<p>--Jeff</p>
</font></span><br>_______________________________________________<br>
Gambit-list mailing list<br>
<a href="mailto:Gambit-list@iro.umontreal.ca">Gambit-list@iro.umontreal.ca</a><br>
<a href="https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list" target="_blank">https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list</a><br>
<br></blockquote></div><br></div>