At 11:37 24.03.2002 +1100, Oliver Burn wrote:
> >
> > Why would it be any different with two buffers? Buffer A accumulates
> > *all* the events and buffer B contains the events after filtering. If the
> > filter rules change, then B can be rebuilt from A. Where is the difference?
>
>The difference is that with the current approach, when Chainsaw is
>paused, collected events are put into the pending buffer and not mAllEvents.
>So when the filter criteria is changed and mFilteredEvents is rebuilt from
>mAllEvents, it does not get the events collected whilst paused. When Chainsaw
>is resumed (un-paused), all the events in the pending buffer get added to
>mAllEvents and mFilteredEvents (as appropriate).
>
>I hope that makes sense - it is quite subtle.
>
>Regards,
>Oliver


Hi again,

I see. If you see my initial post I actually touched this point. I
quote it here for easy reference:

   Support for update pausing can be easily added by suspending step 2
   as long as the pause is in effect. When updating is resumed, then we
   can clear buffer B and rebuild it from the contents of buffer A.  For
   the sake of efficiency, we could record the latest element in buffer A
   when the pause was ordered. Let us call this element k. We can later
   update B (without clearing it) by considering only the elements in A
   that came after k.

After a pause, your pending buffer accomplishes the same as my k
pointer. I should rather say that the k pointer accomplishes the same
as the pending buffer. :-)


--
Ceki

My link of the month: http://java.sun.com/aboutJava/standardization/


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to