-----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-----