[e-lang] Forwarded thoughts on asynchronous programming APIs from Constantine

Mark Miller erights at gmail.com
Tue Apr 17 15:28:17 CDT 2007


Forwarded with permission

---------- Forwarded message ----------
From: Constantine Plotnikov

[...] Tyler's [ref_send API] look interesting
and I will look into it and likely mention in the article. However I
believe that I got further with asyncobjects see for examples (it
demonstrate how objects are implemented):

http://asyncobjects.svn.sourceforge.net/viewvc/asyncobjects/asyncobjects/trunk/src-tests/net.sf.asyncobjects.tests/src/net/sf/asyncobjects/tests/SimpleTest.java?revision=183&view=markup
http://asyncobjects.svn.sourceforge.net/viewvc/asyncobjects/asyncobjects/trunk/src-tests/net.sf.asyncobjects.tests/src/net/sf/asyncobjects/tests/TestAsyncObject.java?revision=183&view=markup
http://asyncobjects.svn.sourceforge.net/viewvc/asyncobjects/asyncobjects/trunk/src-tests/net.sf.asyncobjects.tests/src/net/sf/asyncobjects/tests/WhenTest.java?revision=183&view=markup
(an example of simple asynchronous object, asynchronous test suite
that tests it, and the test for working finallyDo part of When
construct).

http://asyncobjects.svn.sourceforge.net/viewvc/asyncobjects/asyncobjects/trunk/src/net.sf.asyncobjects/src/net/sf/asyncobjects/util/Wait.java?view=markup
(an implementation of "wait all" and "wait any" operations [only
Wait.all is tested])

http://asyncobjects.svn.sourceforge.net/viewvc/asyncobjects/asyncobjects/trunk/src/net.sf.asyncobjects.io/src/net/sf/asyncobjects/io/BufferedByteInput.java?revision=179&view=markup
http://asyncobjects.svn.sourceforge.net/viewvc/asyncobjects/asyncobjects/trunk/src/net.sf.asyncobjects.io/src/net/sf/asyncobjects/io/AByteInput.java?revision=179&view=markup
(Byte input interface and implementation of buffering buffering byte input)

http://asyncobjects.svn.sourceforge.net/viewvc/asyncobjects/asyncobjects/trunk/src-samples/net.sf.asyncobjects.samples/src/net/sf/sebyla/async/samples/echo/EchoServer.java?revision=180&view=markup
(a simple echo protocol server uses When and Using)

http://asyncobjects.svn.sourceforge.net/viewvc/asyncobjects/asyncobjects/trunk/src/net.sf.asyncobjects.io/src/net/sf/asyncobjects/io/IOUtils.java?revision=179&view=markup
(IO utilities that implement different operations over streams)

I dot not ye use templates since project was targeted to embedded
servers (Foundation Profile 1.1). No this requirement is dropped, and
I will likely introduce them.

I still do not have good documentation. However this project might be
freely discussed on e-lang if you wish to so. Just drop me a note if
you start discussion, so I will track it. From brief looking at
ref_send API, I believe that I have created more usable framework.
However, I do not have a remote invocation yet and I'm still working
on http support. NIO based socket implementation works fine and they
are able to hold several thousands connections on windows xp.

[...]

Constantine


More information about the e-lang mailing list