}
int aggregateDataDataRecord(void* ipfixAggregator, SourceID sourceID, DataTemplateInfo* ti, uint16_t length, FieldData* data) {	Rules* rules = ((IpfixAggregator*)ipfixAggregator)->rules;	int i;	debug("Got a DataData Record");	if (!rules) {		fatal("Aggregator not started");		return -1;		}	pthread_mutex_lock(&((IpfixAggregator*)ipfixAggregator)->mutex);	for (i = 0; i < rules->count; i++) {		if (dataTemplateDataMatchesRule(ti, data, rules->rule[i])) {			debugf("rule %d matches", i);						aggregateDataTemplateData(rules->rule[i]->hashtable, ti, data);			}		}	pthread_mutex_unlock(&((IpfixAggregator*)ipfixAggregator)->mutex);		return 0;	}