X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttv%2Flttv%2Fsync%2Ffactor_reduction.h;fp=lttv%2Flttv%2Fsync%2Ffactor_reduction.h;h=561df6baccf245d4a7e6c1ac6e0c7fedd37a7217;hb=eb8e0e6fa27e4cfe25138d8275ee6f686ee2b32d;hp=249b84acce8031c801f8ac26dfd52c81b8faaa91;hpb=336e21a5943e770da94553fa9559b891e0155da5;p=lttv.git diff --git a/lttv/lttv/sync/factor_reduction.h b/lttv/lttv/sync/factor_reduction.h index 249b84ac..561df6ba 100644 --- a/lttv/lttv/sync/factor_reduction.h +++ b/lttv/lttv/sync/factor_reduction.h @@ -28,13 +28,34 @@ typedef struct { char* name; + /* + * This function is called at the beginning of a synchronization run for a + * set of traces. Allocate some reduction specific data structures. + */ void (*initReduction)(struct _SyncState* const syncState); + + /* + * Free the reduction specific data structures + */ void (*destroyReduction)(struct _SyncState* const syncState); + /* + * Convert trace pair synchronization factors to a resulting offset and + * drift for each trace. + */ GArray* (*finalizeReduction)(struct _SyncState* const syncState, AllFactors* allFactors); + /* + * Print statistics related to reduction. Is always called after + * finalizeReduction. + */ void (*printReductionStats)(struct _SyncState* const syncState); + + /* + * Write the reduction-specific options and graph commands in the gnuplot + * script. Is always called after finalizeReduction. + */ GraphFunctions graphFunctions; } ReductionModule;