Hi All
Continuing this thread, I've incorporated Andi's suggestions, and the
updated module is now available via svn at
svn+ssh://<<username>>@svn.osafoundation.org/svn/sandbox/travis/imapserver
Also, John mentioned putting together a code review after alpha 3
settles down, which sounds perfect. Thanks!
-Travis
Grant Baillie wrote:
Hey, Andi
Thanks for looking at that code: Most of your comments are right on
the money. IMAP has restrictions on what UIDs can be, though: see below.
On 7 Jul, 2006, at 11:00, Andi Vajda wrote:
...
validityUID = schema.One(
schema.Integer,
doc = 'The unique id number of this mailbox.',
initialValue = random.randint(1000000, 9999999),
) [EMAIL PROTECTED] why not use a UUID ?
[EMAIL PROTECTED] from chandlerdb.util.c import UUID()
[EMAIL PROTECTED] initialValue = UUID()
[EMAIL PROTECTED] also, maybe this should be in __init__() so that all
mailboxes
[EMAIL PROTECTED] don't endup with the same UID
[EMAIL PROTECTED] (an initial value is not required, by the way)
In IMAP, a mailbox uid (a.k.a. "UIDVALIDITY value") has to be a
non-zero 32-bit unsigned value. It's also supposed to be unique for
the mailbox at that path (i.e. deleting & recreating the mailbox
should give a new UID). So, a UUID (128 bits IIRC) won't work here:
Most implementations use a timestamp (an increasing sequence of
integers is also possible).
However, as you point out, an initialValue isn't really required,
either, and doesn't have the right behaviour w.r.t. deletion and
recreation. Also, a random int could theoretically collide. Maybe the
best thing is to override __init__ to make validityUID a computed
value (like a timestamp).
A similar comment applies to your comments about UUIDs for uidNext &
UIDs: these also have to be 32-bit positive unsigned ints, and have
the additionial requirement of increasing monotonically as messages
are added to the mailbox.
--Grant
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Open Source Applications Foundation "chandler-dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/chandler-dev
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Open Source Applications Foundation "chandler-dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/chandler-dev