durusmail: durus-users: Revised paging-in patch
Revised paging-in patch
2006-07-07
2006-07-08
2006-07-08
2006-07-08
2006-07-10
2006-07-11
2006-07-14
Revised paging-in patch
Jesus Cea
2006-07-08
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

A.M. Kuchling wrote:
> After talking to David and Roger, I've revised the paging-in patch.
> Now it adds a bulk_load() method that takes a list of OIDs and returns
> the corresponding records.  The StorageServer gains a 'B' command that
> will return up to 100 records, and page_in now does its traversing of the
reference closure on the client side.

Will this code be included in Durus 3.5?.

> Index: storage.py
> ===================================================================
> --- storage.py        (revision 13735)
> +++ storage.py        (working copy)
> @@ -41,7 +41,12 @@
>          """
>          raise NotImplementedError
>
> +    def bulk_load (self, oid_list):
> +        """(oid) -> sequence(record:str)
> +        """
> +        raise NotImplementedError

I guess I would add a "bulk_load()" method to my BerkeleyDB Backend, if
this patch is included in Durus 3.5.

> +++ storage_server.py (working copy)

This patch in storage server doesn't use the "bulk_load()" method added
to "file_storage". The only storage backend I am aware of for Durus are
the standard file storages and my BerkeleyDB backend. I would add also
"bulk_load()" to my backend, if necessary.

I can imagine situations where "bulk_load()" could be more efficient
that doing several calls to "load()". For example, sorting the OIDs
requested to reduce disk seek time. So, use "bulk_load" in the
storage_server :-).

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

iQCVAwUBRK8YZ5lgi5GaxT1NAQJNuAP+Ji3SVjG+yh85fGvOsR8C8I6t4bDWpnx9
5/LmFGaaJpoOenQ57n+9m8ZuabJwr07sPz9O8bLltMgkekLhMNYRw7inZ13UEseu
2YnCV8D/7WPt+UAt+64snyqoB+CqIf40KeDgLXo3qQFQSCJEsUs2YW8mshRjge3b
9Bvp2FQqvFo=
=FWFh
-----END PGP SIGNATURE-----
reply