X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttv%2Flttv%2Fsync%2Fevent_matching_distributor.c;h=4bb7e68cd50dd9158dadd414b4c4b0cd642795a6;hb=c6356aa749f534f9bc0aa6315d41bff0e69a6ef9;hp=9eeaff7c441f0b9abff9038f600836097f0d7672;hpb=66eaf2eba602c331d08677dbb59ec3f9e40f0ccc;p=lttv.git diff --git a/lttv/lttv/sync/event_matching_distributor.c b/lttv/lttv/sync/event_matching_distributor.c index 9eeaff7c..4bb7e68c 100644 --- a/lttv/lttv/sync/event_matching_distributor.c +++ b/lttv/lttv/sync/event_matching_distributor.c @@ -54,11 +54,15 @@ static void matchEventDistributor(SyncState* const syncState, Event* const event); static GArray* finalizeMatchingDistributor(SyncState* const syncState); static void printMatchingStatsDistributor(SyncState* const syncState); -static void writeMatchingTraceTracePlotsDistributor(SyncState* const +static void writeMatchingTraceTraceForePlotsDistributor(SyncState* const + syncState, const unsigned int i, const unsigned int j); +static void writeMatchingTraceTraceBackPlotsDistributor(SyncState* const syncState, const unsigned int i, const unsigned int j); static void writeMatchingTraceTraceOptionsDistributor(SyncState* const syncState, const unsigned int i, const unsigned int j); -static void writeMatchingTraceTimePlotsDistributor(SyncState* const +static void writeMatchingTraceTimeForePlotsDistributor(SyncState* const + syncState, const unsigned int i, const unsigned int j); +static void writeMatchingTraceTimeBackPlotsDistributor(SyncState* const syncState, const unsigned int i, const unsigned int j); static void writeMatchingTraceTimeOptionsDistributor(SyncState* const syncState, const unsigned int i, const unsigned int j); @@ -84,9 +88,13 @@ static MatchingModule matchingModuleDistributor = { .finalizeMatching= &finalizeMatchingDistributor, .printMatchingStats= &printMatchingStatsDistributor, .graphFunctions= { - .writeTraceTracePlots= &writeMatchingTraceTracePlotsDistributor, + .writeTraceTraceForePlots= + &writeMatchingTraceTraceForePlotsDistributor, + .writeTraceTraceBackPlots= + &writeMatchingTraceTraceBackPlotsDistributor, .writeTraceTraceOptions= &writeMatchingTraceTraceOptionsDistributor, - .writeTraceTimePlots= &writeMatchingTraceTimePlotsDistributor, + .writeTraceTimeForePlots= &writeMatchingTraceTimeForePlotsDistributor, + .writeTraceTimeBackPlots= &writeMatchingTraceTimeBackPlotsDistributor, .writeTraceTimeOptions= &writeMatchingTraceTimeOptionsDistributor, }, }; @@ -218,14 +226,52 @@ static void printMatchingStatsDistributor(SyncState* const syncState) * i: first trace number * j: second trace number, garanteed to be larger than i */ -static void writeMatchingTraceTracePlotsDistributor(SyncState* const +static void writeMatchingTraceTraceForePlotsDistributor(SyncState* const + syncState, const unsigned int i, const unsigned int j) +{ + MatchingDataDistributor* matchingData= syncState->matchingData; + + g_queue_foreach(matchingData->distributedModules, &gfGraphFunctionCall, + &(struct GraphAggregate) {offsetof(MatchingModule, + graphFunctions.writeTraceTraceForePlots), i, j}); +} + + +/* + * Call the distributed graph lines functions (when they exist). + * + * Args: + * syncState: container for synchronization data + * i: first trace number + * j: second trace number, garanteed to be larger than i + */ +static void writeMatchingTraceTraceBackPlotsDistributor(SyncState* const + syncState, const unsigned int i, const unsigned int j) +{ + MatchingDataDistributor* matchingData= syncState->matchingData; + + g_queue_foreach(matchingData->distributedModules, &gfGraphFunctionCall, + &(struct GraphAggregate) {offsetof(MatchingModule, + graphFunctions.writeTraceTraceBackPlots), i, j}); +} + + +/* + * Call the distributed graph lines functions (when they exist). + * + * Args: + * syncState: container for synchronization data + * i: first trace number + * j: second trace number, garanteed to be larger than i + */ +static void writeMatchingTraceTimeForePlotsDistributor(SyncState* const syncState, const unsigned int i, const unsigned int j) { MatchingDataDistributor* matchingData= syncState->matchingData; g_queue_foreach(matchingData->distributedModules, &gfGraphFunctionCall, &(struct GraphAggregate) {offsetof(MatchingModule, - graphFunctions.writeTraceTracePlots), i, j}); + graphFunctions.writeTraceTimeForePlots), i, j}); } @@ -237,14 +283,14 @@ static void writeMatchingTraceTracePlotsDistributor(SyncState* const * i: first trace number * j: second trace number, garanteed to be larger than i */ -static void writeMatchingTraceTimePlotsDistributor(SyncState* const +static void writeMatchingTraceTimeBackPlotsDistributor(SyncState* const syncState, const unsigned int i, const unsigned int j) { MatchingDataDistributor* matchingData= syncState->matchingData; g_queue_foreach(matchingData->distributedModules, &gfGraphFunctionCall, &(struct GraphAggregate) {offsetof(MatchingModule, - graphFunctions.writeTraceTimePlots), i, j}); + graphFunctions.writeTraceTimeBackPlots), i, j}); }