Subject: [sup-talk] some internal api refactors

From: [email-masked] (William Morgan)
Date: Tue, 11 Aug 2009 13:14:44 -0700

Hi Rich, and others,

In the branch various-api-refactors I've made a couple significant
genotypic changes to the index and polling API that I want to make sure
are in line with your evil plans. Commit 8aa1370d in particular replaces
Index.sync_message with three methods, one for adding new messages, one
for updating existing messages, and one for just tweaking the labels.
The current implementation just calls the original sync_message
implementation for all three. The rest of the changes are tweaks in the
various consumers of these messages.

The intention is that this will be useful both for Xapian and Sup the
server, which may need to distinguish between these three methods of
index access (or may simply want to for speed).
-- 
William <wmorgan-sup at masanjin.net>

---

From: [email-masked] (Rich Lane)
Date: Wed, 12 Aug 2009 01:26:53 -0400

It's worth noting that update_message_state needs to handle modified
refs and snippets as well as labels. Maybe add a comment about this in
BaseIndex?

---

From: [email-masked] (William Morgan)
Date: Sun, 16 Aug 2009 14:44:49 -0700

> refs and snippets as well as labels. Maybe add a comment about this in

Different snippet, definitely. Good point. Modified refs: I'm tempted to
replace this with another API call, since we don't really care about the
refs; we just want the index to thread the messages together. Thoughts?
-- 
William <wmorgan-sup at masanjin.net>

---

From: [email-masked] (Rich Lane)
Date: Sun, 16 Aug 2009 18:49:24 -0400

> refs; we just want the index to thread the messages together. Thoughts?

The ThreadSet still needs the ref to do the UI-level threading, right?
Making it another API call is good as long as that's still taken care of.

---

From: [email-masked] (William Morgan)
Date: Mon, 17 Aug 2009 12:39:57 -0700

> Making it another API call is good as long as that's still taken care

I'm thinking about moving in the direction where the index is also
responsible for threading (so maybe "index" is not the right term
anymore), so the ThreadSet would just be a static representation of the
thread structure of a set of messages as returned by the index. We'll
see how it develops.
-- 
William <wmorgan-sup at masanjin.net>