View previous topic :: View next topic |
Author |
Message |
jcc7
Joined: 22 Feb 2004 Posts: 657 Location: Muskogee, OK, USA
|
Posted: Mon Feb 23, 2004 10:26 pm Post subject: What is DSC? |
|
|
I'm guessing this is the possible project mentioned in D newsgroup, post 24294
This seems to be a similar idea to DServicesAPI (which might have been abandoned)?
I guess the idea is be like JSP or ASP except powered by D. Sounds like fun.
Last edited by jcc7 on Mon Mar 08, 2004 9:40 am; edited 1 time in total |
|
Back to top |
|
|
brad Site Admin
Joined: 22 Feb 2004 Posts: 490 Location: Atlanta, GA USA
|
Posted: Tue Mar 02, 2004 3:38 pm Post subject: Re: What is JSP? |
|
|
That's exactly what it is. I think DServicesAPI was abandoned, but I think Kris Bell is working on a servlet engine based in D. If so, it's going to be really cool. I'd be able to redo a huge and slow application we have at work in DSP instead of JSP. And it would be compiled natively _________________ I really like the vest! |
|
Back to top |
|
|
jcc7
Joined: 22 Feb 2004 Posts: 657 Location: Muskogee, OK, USA
|
Posted: Thu Mar 11, 2004 12:30 am Post subject: More news... |
|
|
Kris has been discussing DSC some more in the official newsgroup, such as post 25333.
Quote: | I've been building a multi-layer IO package for DSC (D Servlet Container)
that's fully buffered and generates zero garbage.
The layers include:
- raw byte-array style I/O
- informal text-oriented Tokenizer I/O with text/binary conversion
- structured binary I/O (directly to/from variables) with optional endian
flipping
- structured text-oriented input with data conversion
- structured class serialization/deserialization framework
It's quite flexible: for example, one can 'read' a line into a Token (using
a LineTokenizer) and then map said Token into any of the other layers for
further slicing. One can mix and match the different layers in pretty much
any way that makes sense. There is no copying of data unless requested by
the app, and no memory allocation other than app-allocated I/O buffers. It
does random-access where the underlying system supports it (not on a
socket), and is intended to support memory-mapped buffers (for *huge*
files). It uses lookahead instead of unget... for those cases that need such
things.
I'm writing this stuff for a high-performance server (in D), so one of the
primary goals is very low runtime overhead (i.e. zero memory allocation). If
anyone's interested, I'll try to get the first major I/O cut out the door
by, say, the end of the month.
- Kris |
|
|
Back to top |
|
|
kris
Joined: 27 Mar 2004 Posts: 1494 Location: South Pacific
|
Posted: Sat Mar 27, 2004 1:10 am Post subject: What is Dsc? |
|
|
It might be useful for me to clarify what Dsc is, and what it's not:
- Dsc is (will be) a high-performance servlet style HTTP server
- It's written in D, for D servlets
- It includes an IO package (files, sockets, buffers, tokenizers, readers, writers) that can be utilized in isolation from Dsc itself. This package wraps Christopher Miller's excellent socket.d implementation. Big kudos to CM!
- Dsc is not a replacement for ASP, JSP, and their ilk. However, some enterprising soul might provide similar functionality as a (rather sophisticated) servlet. There are a few open-source projects that might be ported.
- There will be no HTTPS support in the first release, unless someone jumps in to write it (hint hint ...)
- Dsc does not stand for "delinquent schizophrenic coyote".
- Initial servlet configuration will be made *in the code*. That is, there will be no external XML style configuration file.
In a nutshell, Dsc is intended to help bootstrap some as-yet-unknown Internet oriented projects.
- Kris |
|
Back to top |
|
|
kris
Joined: 27 Mar 2004 Posts: 1494 Location: South Pacific
|
Posted: Thu Apr 15, 2004 9:46 pm Post subject: |
|
|
Update:
Dsc has evolved into an umbrella for several related projects. We intend to initially split it out into three subprojects comprised of Dsc.io, Dsc.server, and Dsc.servlet. Dependencies run from right to left: Dsc.servlet requires both Dsc.io and Dsc.server, whilst Dsc.io is standalone.
The names themselves will perhaps change into something a little less formal (such as "kiwi", "mango", and "walnut"), and Dsc will change its original meaning to something along the lines of "D server classes" (or perhaps "delinquent schizophrenic coyote").
Ideas for names, or whether to rename at all, are welcome!
- Kris |
|
Back to top |
|
|
kris
Joined: 27 Mar 2004 Posts: 1494 Location: South Pacific
|
Posted: Mon May 03, 2004 9:51 am Post subject: |
|
|
kris wrote: | Update:
Dsc has evolved into an umbrella for several related projects. We intend to initially split it out into three subprojects comprised of Dsc.io, Dsc.server, and Dsc.servlet. Dependencies run from right to left: Dsc.servlet requires both Dsc.io and Dsc.server, whilst Dsc.io is standalone.
The names themselves will perhaps change into something a little less formal (such as "kiwi", "mango", and "walnut"), and Dsc will change its original meaning to something along the lines of "D server classes" (or perhaps "delinquent schizophrenic coyote").
Ideas for names, or whether to rename at all, are welcome!
- Kris |
So, the umbrella name finally changed to something less snooty. Dsc has become "mango", which has a nice ring to it and is easy to type <g>
Changing import statements is straightforward: simply do a global replace of "dsc." with "mango." and you should be good to go. The make files for linux and Win32 have been updated, as has the scons script. These are packaged up in http://svn.dsource.org/svn/projects/mango/trunk/
I'm happy to say that there's now some preliminary documentation! This will improve over time, and is available online and for download. The online doc is here: http://svn.dsource.org/svn/projects/mango/trunk/doc/html/index.html which also happens to be the project home page. All the doc is included in the downloadable mango.zip |
|
Back to top |
|
|
|
|
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
|