[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[Libevent-users] asynchronous or simultanous web service using evhttp.h



Hello

(I'm using the usual libevent 1.4 package on Debian/Sid/AMD64, but
could compile & use libevent 2.0 if asked)

I am developping a multi-threaded application using libevent -
currently an experiment [the goal would be to develop a high-level
programming language which is wiki-like and used thru a browser, not a
plain textual language edited thru emacs] which I will publish as GPL
code if & when successful. Only one thread (the main one) is running
the libevent loop and is doing libevent calls. All other threads are
not doing anything libevent related. Some event callbacks (running in
the main loop) are using bounded timed pthread calls, in particular
pthread_cond_timedwait. Some non-main threads are also occasionnally
(and atomically) writing into a pipe which is read by libevent
callbacks. 

Is there a possibility to use evhttp.h functions asynchronously, in
particular to handle several (eg. 2-4) HTTP requests at once (typically
I was thinking of AJAX, e.g. a browser tab doing some XMLHttpRequest
while another tab is actively used by the user who is e.g. POST-ing
from an XHTML form; so the application would need to reply to the
XMLHttpRequest while it is replying to the user in another browser
tab.), ? How can I achieve that? By creating a thread for each request?
By waiting for several HTTP requests in libevent? How?

This is an experiment, and performance does not matter much. However, I
really want my application to run several threads... so making it
monothreaded is not possible!!

Example code are welcome.

If you want me to put my (alpha-stage, 3000+ lines of C) code on some
web server, I could do that, but it does not show much!

cheers
-- 
Basile STARYNKEVITCH         http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mine, sont seulement les miennes} ***
***********************************************************************
To unsubscribe, send an e-mail to majordomo@xxxxxxxxxxxxx with
unsubscribe libevent-users    in the body.