couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Adam Kocoloski <kocol...@apache.org>
Subject Re: OTP-ification
Date Mon, 08 Jun 2009 19:03:03 GMT
On Jun 6, 2009, at 1:06 AM, Paul Davis wrote:

> * CouchRep - Ideally, I'd like to keep this in core, but I don't know
> the logic in it to know if we can split it into an Erlang core version
> and add an HTTP layer on top. Or something. Anyway, that's all I got.

The replicator doesn't need an HTTP server, just a client (ibrowse  
atm), so it should not have any dependency on a future "CouchHTTPd"  
application.  I think I'd still prefer to keep it separate from core,  
though.

I do think the code and build system should be reorganized into a more  
standard src/include/ebin etc. layout, but I'm not yet sold on the  
idea that CouchDB should be comprised of more than one OTP  
application.  I don't see much precedent for that in the applications  
included with Erlang/OTP.

Why not just require a registered top-level supervisor for each of  
these sets of modules?  I suppose the counter-argument is that  
bundling the modules as multiple applications lets you leverage OTP's  
built-in dependency tracking.  Still, I don't think we want to bundle  
multiple applications unless we're prepared to distribute them  
separately.

Regardless of how many applications we use, we could still organize  
the code with a multi-level hierarchy like

src
  |-core
    |-couch_db.erl
    |-...
  |-httpd
  |-replication
  |-...

Adam

Mime
View raw message