X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttv%2Flttv%2Fsync%2Fevent_processing.h;h=1bc9ade3c1f0ebd8582820b29419c80972528879;hb=eb8e0e6fa27e4cfe25138d8275ee6f686ee2b32d;hp=876ca1d71603a8edf05a8ddf33be15601e46a5ba;hpb=277e5b535febfb81a5e9485b0d008e148b6979ac;p=lttv.git diff --git a/lttv/lttv/sync/event_processing.h b/lttv/lttv/sync/event_processing.h index 876ca1d7..1bc9ade3 100644 --- a/lttv/lttv/sync/event_processing.h +++ b/lttv/lttv/sync/event_processing.h @@ -31,10 +31,33 @@ typedef struct { char* name; + /* + * This function is called at the beginning of a synchronization run for a + * set of traces. Allocate and initialize data structures for + * synchronizing a traceset. + */ void (*initProcessing)(struct _SyncState* const syncStateLttv, ...); - void (*finalizeProcessing)(struct _SyncState* const syncState); + + /* + * Obtain the factors from downstream. + */ + AllFactors* (*finalizeProcessing)(struct _SyncState* const syncState); + + /* + * Print statistics related to processing. Is always called after + * finalizeProcessing. + */ void (*printProcessingStats)(struct _SyncState* const syncState); + + /* + * Deallocate processingData. No more functions may be called after this. + */ void (*destroyProcessing)(struct _SyncState* const syncState); + + /* + * Write the processing-specific options and graph commands in the gnuplot + * script. Is always called after finalizeProcessing. + */ GraphFunctions graphFunctions; } ProcessingModule;