#include <unistd.h>
#include "event_analysis.h"
-#include "sync_chain_lttv.h"
+#include "sync_chain.h"
#include "event_matching_broadcast.h"
matchingData->stats->totReceive++;
}
- // s'il est déjà dans pendingBroadcasts
- // l'ajouter à son broadcast
- // s'il y a traceNb éléments
- // le retirer de pending et le livrer à analysis
- // détruire le broadcast (et ses éléments)
- // sinon
- // créer un broadcast et l'ajouter à pending
+ /* if event in pendingBroadcasts:
+ * add it to its broadcast
+ * if this broadcast has traceNb events:
+ * remove it from pending and deliver it to analysis
+ * destroy the broadcast (and its elements)
+ * else:
+ * create a broadcast and add it to pending
+ */
result=
g_hash_table_lookup_extended(matchingData->pendingBroadcasts,
g_queue_push_tail(broadcast->events, event);
if (broadcast->events->length == syncState->traceNb)
{
+ if (matchingData->stats)
+ {
+ matchingData->stats->totComplete++;
+ }
+
g_hash_table_steal(matchingData->pendingBroadcasts, datagramKey);
free(datagramKey);
syncState->analysisModule->analyzeBroadcast(syncState, broadcast);
broadcast= malloc(sizeof(Broadcast));
broadcast->events= g_queue_new();
g_queue_push_tail(broadcast->events, event);
+
+ datagramKey= malloc(sizeof(DatagramKey));
+ *datagramKey= *event->event.udpEvent->datagramKey;
+
+ g_hash_table_insert(matchingData->pendingBroadcasts,
+ datagramKey, broadcast);
}
}
else
{
return;
}
-
matchingData= (MatchingDataBroadcast*) syncState->matchingData;
printf("Broadcast matching stats:\n");
matchingData->stats->totTransmit);
printf("\ttotal broadcasts datagrams received: %u\n",
matchingData->stats->totReceive);
- printf("\ttotal broadcast groups for which all emissions were identified: %u\n",
+ printf("\ttotal broadcast groups for which all receptions were identified: %u\n",
matchingData->stats->totComplete);
- printf("\ttotal broadcast groups missing some emissions: %u\n",
+ printf("\ttotal broadcast groups missing some receptions: %u\n",
matchingData->stats->totIncomplete);
if (matchingData->stats->totIncomplete > 0)
{