httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Roy T. Fielding" <field...@kiwi.ICS.UCI.EDU>
Subject fyi: Cosm Project
Date Sun, 07 Nov 1999 06:52:59 GMT
I met Adam L. Beberg at the MIT's TR100 event and he mentioned that
they were working on a portability layer for the Cosm project (software
that grew out of his work at  The code license isn't
suitable for Apache at the current time, but some people here might
be interested in his work.  Below is his comments on APR after I mentioned
where to look for our 2.0 stuff.


------- Forwarded Message

Date: Fri, 5 Nov 1999 18:18:26 -0600 (CST)
From: "Adam L. Beberg" <>
Subject: Cosm CPU/OS vs. Apache ARP (from TR100)
Message-ID: <>


I checked out the Apache 2.0 code and looked through the ARP and compared it
to the Cosm cpu/.os layer (

The goals are a bit different, which leads to a different structure:

* APR aims to provide some common functions if and only if raw speed is
unaffected, whereas Cosm's goal is to provide a universal API on anything
with a 32bit CPU, #ifdef'ing inside the functions where needed.

* The Cosm API aims to be extremely simple from a enduser view with a low
learning curve. APR is aimed at apache programmers, and so the interface is
a bit more complicated (contexts and things). Also, Cosm is pure ANSI C,
whereas APR is c++ish

* APR is geared very closely to the things Apache needs. Cosm aims to
provide everything a kernel would provide, allowing functions to fail e.g.
if an OS doesn't have threads, thread cration fails, and you do the
non-thread method. Apache will do this decision making on a higher

Neither of these approches is better/worse then the other, they both meet
their goals quite well. I dont know how useful the Cosm libraries would be
to the Apache project, while the #ifdef's allow for optimized code, it's not
an absolute goal, portability is, but performance is extremely critical in

Good luck on the Thesis, get back to work ;)

- Adam L. Beberg
  The Cosm Project - -

------- End of Forwarded Message

View raw message