From: "Jeremy Fincher" <tweedgeezer@hotmail.com>
To: caml-list@pauillac.inria.fr
Subject: [Caml-list] High level (asynchronous) networking library?
Date: Thu, 12 Jul 2001 01:31:22 -0400 [thread overview]
Message-ID: <F122M3oryKFRJrzdDW60000ab1d@hotmail.com> (raw)
I've been learning O'Caml for the past little bit, and after not finding any
high level asynchronous networking libraries (that is, libraries/modules for
writing high performance network servers), I figured I would write one,
since it seemed a non-trivial problem that wasn't too far out of my league.
Anyway, I've been looking at possible ways to write one. In Python, I've
made quite a bit of use of the "asyncore" module
(http://www.nightmare.org/medusa/index.html), which is a very production
proven (it's the asynchronous networking engine used in Zope) and simple
framework for writing high performance asynchronous servers. It seems that
implementing asyncore in O'Caml would be fairly straightforward, so I've
been putting it off a bit while I search for a possibly better solution.
Someone has written "asyncore turned inside out" using Stackless Python, an
implementation of Python that has first-class continuations) using
continuations to implement the apparent multi-tasking. It apparently (I've
not used it myself) makes the asynchronous networking part of the coding a
little more transparent to the user than asyncore does. I'm curious if
something similar could be implemented in O'Caml with closures, and if it
could achieve similar user-transparency.
Does anyone have any comments on any of the above options? Are there other
options I'm not considering which could be better? Are there any
implementations of what I want already? What I'm looking for is as much
abstraction away from the low-level socket/select loops as is reasonable for
efficiency's sake.
Thanks,
Jeremy
_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com
-------------------
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
next reply other threads:[~2001-07-12 5:31 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-07-12 5:31 Jeremy Fincher [this message]
2001-07-12 9:06 ` Markus Mottl
2001-07-12 12:14 ` Jeremy Fincher
2001-07-15 7:26 ` Ohad Rodeh
2001-07-12 20:37 ` Gerd Stolpmann
2001-07-14 2:29 ` John Max Skaller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=F122M3oryKFRJrzdDW60000ab1d@hotmail.com \
--to=tweedgeezer@hotmail.com \
--cc=caml-list@pauillac.inria.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox