View previous topic :: View next topic |
Author |
Message |
xammy
Joined: 01 Feb 2007 Posts: 6 Location: Magdeburg, Germany
|
Posted: Tue May 08, 2007 6:11 am Post subject: FastCGI4D |
|
|
Hello,
I've started writing a Tango compatible FastCGI library in D, including the following features:- Access to the four fcgi streams via special Conduits.
- Support for plain CGI via the standard Conduits.
- Threading, an adaptive thread manager is planned.
- Optimized for performance, avoiding unnecessary allocations.
Currently, it's working for my Linux box - Windows is untested but should work, because the library uses the OS_* functions from the original libfcgi (and therefore depends on it). But the I/O model and protocol implementation is done in a much cleaner way, using Tangos Buffer and Conduit techniques.
If this project is accepted, the title should be "FastCGI4D" and description "A Tango compatible FastCGI library for D". |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
brad Site Admin
Joined: 22 Feb 2004 Posts: 490 Location: Atlanta, GA USA
|
Posted: Wed May 16, 2007 10:08 am Post subject: |
|
|
Sorry I didn't see this until now. Your project is ready to go. Let me know if you have any questions.
BA _________________ I really like the vest! |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
csauls
Joined: 27 Mar 2004 Posts: 278
|
Posted: Wed May 16, 2007 11:19 am Post subject: |
|
|
I'll be keeping on eye on this. There could be some real uses for such a beastie in my niche. ![Smile](images/smiles/icon_smile.gif) _________________ Chris Nicholson-Sauls |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
pragma
Joined: 28 May 2004 Posts: 607 Location: Washington, DC
|
Posted: Mon Jul 09, 2007 1:10 pm Post subject: |
|
|
From what I can tell, this project is deceptively simple. Kudos.
So each example is its own stand alone server?
I know, that much should be obvious, but between the documentation here on dsource and what is out on the fastcgi site, it's really not spelled out. I guess I'm too used to heavyweight web-server projects. ![Smile](images/smiles/icon_smile.gif) _________________ -- !Eric.t.Anderton at gmail |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
xammy
Joined: 01 Feb 2007 Posts: 6 Location: Magdeburg, Germany
|
Posted: Sat Jul 14, 2007 7:32 am Post subject: |
|
|
Okay, I thought it would suffice to describe basic programming for FastCGI in the docs, but the most magic is setting up your web server to use it. I'm going to write some more on the page, if there's time
All 3 examples are servers (for their own), which are contacted by the web server if there's a request for it. The FastCGI application generates a response, mostly the html code (although sending files, etc. is also possible), which the server forwards.
Those 3 basically do the same things, although in different ways. Loop can only answer one request at once.
Thread and Application can handle multiple requests and share much code, but Application is the OOP version and has the advantage, that it creates it's member variables only on thread creation, while using Thread, one must either have one instance for all or do things on every request.
All I/O related objects (like Tango Buffer, Layout and Printer) live on a per-thread basis, and thus if you want high-performance stuff, Application is the one to choose. |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|