From now on, the state computation will be done in the middle hook call, with a
priority higher than default. We will define this priority as PRIO_STATE,
-defined to -10.
+defined to 25.
-If state has to be computed, lttv_process_traceset_begin is called to add state
-hooks to the context. Then, the state seek_closest will have to be used to
-restore the nearest state, plus a process_traceset with no hooks present other
-than the state hooks will have to be called to go from the closest state to the
-real time seeked.
+If state has to be computed, lttv_process_traceset_begin has to be called in
+a first time. It adds the state hooks to the context. Then, the state
+seek_closest will have to be used to restore the nearest state, plus a
+process_traceset with no hooks present other than the state hooks will have to
+be called to go from the closest state to the real time seeked.
The lttv_process_traceset_end will only need to be called if no further state
computation is needed.
- Type LttvTracesetContextPosition
+struct _LttvTraceContextPosition {
+ LttEventPosition *tf_pos; /* Position in each trace */
+ guint nb_tracefile; /* Number of tracefiles (check) */
+}
+
struct _LttvTracesetContextPosition {
- LttEventPosition *tracefile_position; /* Position in each trace/tracefile */
- guint num_tracefiles; /* Number of tracefiles (check) */
+ LttTraceContextPosition *t_pos; /* Position in each trace */
+ guint nb_trace; /* Number of traces (check) */
}
with interfaces :
lttv_process_traceset_seek_position will seek each tracefile to the right
position. We keep information about number of tracefiles for extra integrity
-checking when reloading the position in the context.
+checking when reloading the position in the context. It also loads the pqueue.
We modify lttv_process_traceset_middle so that it takes as arguments :
(LttvTracesetContext *self,
LttTime end,
-unsigned num_events,
+unsigned nb_events,
const LttvTracesetContextPosition *end_position)
This new version of process traceset middle will call the event hooks for
-events until the first criterion is fulfilled : either the end time is passed,
-the number of events requested is passed or the end position is reached. When
-this function ends, the end position can be extracted from the context, the end
-event is set as described below and the number of events read is returned.
+events until the first criterion is fulfilled : either the end time is reached,
+the number of events requested is passed, the end position is reached or the
+last event hook list called returned TRUE. When this function ends, the end
+position can be extracted from the context, the end event is set as described
+below and the number of events read is returned.
The end event is a pointer to the last event the hooks has been called for.
- lttv_process_traceset_seek_time : already implemented
+ - now loads the pqueue.
- lttv_process_traceset_begin(LttvTracesetContext *self,
LttvHooks *before_traceset,