durusmail: durus-users: My wishlist for Durus 3.8 (20070503)
My wishlist for Durus 3.8 (20070503)
2010-09-23
My wishlist for Durus 3.8 (20070503)
Jesus Cea
2010-09-23
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

This is a draft I wrote three years ago. Maybe can be useful.

I would like durus to be more "community driven".



"""
This is a preview version.

As ever, I'm ready to help to implement this, if you ask.

* "Factorize" the durus server socket management (in particular, socket
creation for incomming connections and socket "select") to be able to
reuse the server code in other communication media, like shared memory,
intraprocess queues or mmaped files.

* "connection" objects should provide a method to query how much
accumulated idle time was spent waiting for the storage.

* A precompiled DURUS distribution for Windows users. Please!. Durus
programmers can't do it. Any other gentle soul able to provide this
service?. Durus deserves it!.

* When getting a "late conflict", the client should get the *real* OID
list of the conflicting objects. Since an storage implementation could
choose to only report conflicts in a "late" way, this check should be
done even for "no changed objects" commits.

* Be able to raise a "read only" exception when a client requests new
OIDs or try to commit with objects changed. This would allow for
read-only connections without setting the entire storage "read-only".
Also currently, if an storage is read-only, clients will be disconnected
when trying to commit changes, with no real indication of the problem.

* New "gen_oid_record" implementation in "Storage" class breaks
encapsulation and percolates internal implementation details of FileStorage.

* Add a "connection.close()" method.

* Add a storage wrapper to be able to share any arbitrary storage
between multiple "connection()"'s. For example, you pass an storage
instance to a function and it gives you a builder object, related to
that storage. Calling that generator gives you a "mutexed" storage
instance wrapping the original storage.

 This way you can share a single filestorage between threads, for example.
"""

- --
Jesus Cea Avion                         _/_/      _/_/_/        _/_/_/
jcea@argo.es http://www.argo.es/~jcea/ _/_/    _/_/  _/_/    _/_/  _/_/
jabber / xmpp:jcea@jabber.org         _/_/    _/_/          _/_/_/_/_/
                               _/_/  _/_/    _/_/          _/_/  _/_/
"Things are not so easy"      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
"My name is Dump, Core Dump"   _/_/_/        _/_/_/      _/_/  _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz




-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQCVAwUBTJuIHJlgi5GaxT1NAQKJ5wP/d8/4Eo3sXUT6ckNHzCAeq/i/ln8O161Y
PC66PCil4GLn+PMhE8X2uclpy8bg9ZDrNKKQoSyNU7ku2A8eo+WgpOWMDU9hZq2Z
FPOQddKoKgrI/iXt8jpacU5jGKetRsRAlJbzA4aRG0Q+GH5DK5ga22W4azVX4rRE
m5bXtlkYmN4=
=nlhz
-----END PGP SIGNATURE-----
reply