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]>
