durusmail: durus-users: My wish-list for Durus 3.6 (20061031)
My wish-list for Durus 3.6 (20061031)
2006-10-31
2006-10-31
2006-10-31
2006-10-31
My wish-list for Durus 3.6 (20061031)
Jesus Cea
2006-10-31
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

David, remember also:

- - Would be nice to be able to raise a "late" conflict exception when the
client already send the modified objects at commit time.

- - Currently a commit does to the storage a call sequence
"begin"->"store"->"end". That is fine, but there is no way to "abort" a
commit if the connection is severed, for example.

Currently is not an issue, because the modified objects will be in a
"limbo" until "end" call, and they will be deleted if a "begin" call
comes before the "end".

But with the posibilities that Durus 3.6 opens, would be nice to be able
to "abort" a commit if a connection goes away in the middle of a commit.
You can't wait for another "begin" because the "begin"->"end" game would
involve (already locked) mutexes, or who nows what.

Example:

Just imagine I do a storage that export "filestorage" like objects to
allow threads to share a single filestorage. Writes are managed via a
mutex. If one of my interfaces provides a ServerStorage like connection,
and a remote client starts a commit but the connection is severed before
finishing, the storage would remains locked.

I know that I can "thick" a bit my proxy objects to accumulate locally
"store" calls, and when an "end" comes, do "instantly" a
"begin"->"store"->"end" cycle, but I'm a bit worried about the extra
layer performance and double memory usage. And, for this to work
reliably, need to be able to do the "late conflict" resolution (point 1).

- --
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.5 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iQCVAwUBRUe2Qplgi5GaxT1NAQIIuQP/Vloed3QjQkv0sueSTJaehjMXRZUDr9kx
CzbI4IlQ/9bYo5WsUYNSZkoIxBILUnuzw9A/CvIOMWyyPhiXInWoaFzAeb3NPSXV
b0+YScktwDQscUQ9U5+5owiMr1/pPgraNlKDqWfQAwW0gM+ZkF3rBHX6QNAEgieT
240+IROwf2o=
=lil6
-----END PGP SIGNATURE-----
reply