Unix socket code
Brian Rice
water at tunes.org
Mon Jan 31 01:57:55 PST 2005
Oh yeah, for those of you from the Java camp, we can eventually turn
this into a much simpler and clearer implementation of what Java does
for java.nio libraries, which I have been comparing.
On Jan 31, 2005, at 1:55 AM, Brian Rice wrote:
> I've made some extensions to the code, and moved unixsocket.c into
> unix/socket.c. It builds to a nice, tidy, 10kb library.
>
> Right now there's a preliminary select() wrapper and a fancy trick or
> two to make file-descriptor sets appear as Net HandleSets in
> user-land, although the do: protocol is crucially missing. The more
> basic protocols are pretty much solid and covers all of the main
> unix-style API's.
>
> What eventually needs to be done in user-land is to provide for
> Slate-side buffers/queues for the asynchronous I/O, and a system for
> improving the reliability of data sends, since they can often be
> incomplete (signaling the number of bytes sent, of course) if large
> enough. Entailed in this (and probably the do: feature) is an
> IdentityDictionary mapping handles to their ExternalResources,
> although at this point I'd like to deliberately slow down and allow
> people some time to look and figure out what would make the most
> sense. Feedback and additional features or fixes/refactorings of
> features are welcome.
>
> The relevant files are:
> src/lib/net/socket.slate (user-land abstract code)
> src/plugins/socket/unix/socket.c (C wrappers)
> src/plugins/socket/unixsocket.slate contains the FFI calls and
> BSD-sockets-specific userland.
> src/plugins/socket/windows/ is missing an equivalent using the WinSock
> library.
>
> --
> Brian T. Rice
> LOGOS Research and Development
> http://tunes.org/~water/
>
>
--
Brian T. Rice
LOGOS Research and Development
http://tunes.org/~water/
More information about the Slate
mailing list