[Chandler-dev] Observers and stamps
Bryan Stearns
stearns at osafoundation.org
Wed Nov 29 12:12:38 PST 2006
Jeffrey,
Unless there are more cases of observers on stamps observing attributes
on ContentItem, I think it'd be better to put the overhead of checking
for stampedness in the individual observer, to avoid adding overhead to
all notifications.
(Also, wouldn't checking stampedness in the dispatch mechanism prevent
you from getting notified when an EventStamp'd item is unstamped, and
removed from collections as a result?)
...Bryan
Jeffrey Harris wrote:
> Hi Folks,
>
> I have code in EventStamp (on the recurrence branch) that says:
>
> @schema.observer(ContentItem.collections)
> def onCollectionChange(self, op, name):
> ...
>
> I just realized that this observer gets called every time an item is
> added to (or removed from) a collection, not just when EventStamps are
> added to collections, because it's watching an attribute that doesn't
> live on EventStamp.
>
> I think for my use cases, I'd be happy to have observers on stamps only
> get called if the item in question has that stamp. Do other folks have
> use cases where they want observers to apply to all items, regardless of
> stamp? Would it be reasonable for those observers to always live on
> ContentItem?
>
> If so, it seems like we could save ourselves a bit of method calling by
> checking stamps before calling observers. I'm not sure that that'll buy
> us all that much, method calls aren't all that expensive, but it would
> be interesting to see if it buys us anything. It also seems
> conceptually cleaner to me.
>
> Thoughts?
>
> Sincerely,
> Jeffrey
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> Open Source Applications Foundation "chandler-dev" mailing list
> http://lists.osafoundation.org/mailman/listinfo/chandler-dev
>
More information about the chandler-dev
mailing list