LogMessage * _generate_message_inheriting_properties_from_the_entire_context(CorrellationContext *context) { LogMessage *genmsg = _generate_message_inheriting_properties_from_the_last_message(correllation_context_get_last_message(context)); log_msg_merge_context(genmsg, (LogMessage **) context->messages->pdata, context->messages->len); return genmsg; }
static LogMessage * _generate_default_message_from_context(SyntheticMessageInheritMode inherit_mode, CorrellationContext *context) { LogMessage *triggering_msg = correllation_context_get_last_message(context); if (inherit_mode != RAC_MSG_INHERIT_CONTEXT) return _generate_default_message(inherit_mode, triggering_msg); return _generate_message_inheriting_properties_from_the_entire_context(context); }
static void pattern_db_expire_entry(TimerWheel *wheel, guint64 now, gpointer user_data) { PDBContext *context = user_data; PatternDB *pdb = (PatternDB *) timer_wheel_get_associated_data(wheel); GString *buffer = g_string_sized_new(256); LogMessage *msg = correllation_context_get_last_message(&context->super); PDBProcessParams *process_params = pdb->timer_process_params; msg_debug("Expiring patterndb correllation context", evt_tag_str("last_rule", context->rule->rule_id), evt_tag_long("utc", timer_wheel_get_time(pdb->timer_wheel))); process_params->context = context; process_params->rule = context->rule; process_params->msg = msg; process_params->buffer = buffer; _execute_rule_actions(pdb, process_params, RAT_TIMEOUT); g_hash_table_remove(pdb->correllation.state, &context->super.key); g_string_free(buffer, TRUE); /* pdb_context_free is automatically called when returning from this function by the timerwheel code as a destroy notify callback. */ }