sc_result utils_collect_identifiers_initialize()
{
    utils_redis_host = sc_config_get_value_string(str_group_redis, str_key_redis_host);
    if (utils_redis_host == 0)
        utils_redis_host = "127.0.0.1";

    utils_redis_port = sc_config_get_value_int(str_group_redis, str_key_redis_port);
    if (utils_redis_port == 0)
        utils_redis_port = 6379;

    utils_redis_timeout = sc_config_get_value_int(str_group_redis, str_key_redis_timeout);
    if (utils_redis_timeout == 0)
        utils_redis_timeout = 1500;

    // connect to redis
    redisCtx = connectToRedis();


    // initialize agents
    event_add_idtf = sc_event_new(keynode_nrel_idtf, SC_EVENT_ADD_OUTPUT_ARC, 0, agent_append_idtf, (fDeleteCallback)0);
    if (event_add_idtf == 0)
        return SC_RESULT_ERROR;

    event_add_main_idtf = sc_event_new(keynode_nrel_main_idtf, SC_EVENT_ADD_OUTPUT_ARC, 0, agent_append_idtf, (fDeleteCallback)0);
    if (event_add_main_idtf == 0)
        return SC_RESULT_ERROR;

    event_add_sys_idtf = sc_event_new(keynode_nrel_system_identifier, SC_EVENT_ADD_OUTPUT_ARC, 0, agent_append_idtf, (fDeleteCallback)0);
    if (event_add_sys_idtf == 0)
        return SC_RESULT_ERROR;


    return SC_RESULT_OK;
}
scp_result scp_procedure_preprocessor_init()
{
    event_procedure_preprocessing = sc_event_new(s_default_ctx, correct_scp_program.addr, SC_EVENT_ADD_OUTPUT_ARC, 0, (fEventCallback)preprocess_scp_procedure, 0);
    if (event_procedure_preprocessing == null_ptr)
        return SCP_RESULT_ERROR;
    return SCP_RESULT_TRUE;
}
scp_result scp_process_destroyer_init()
{
    event_process_destroy = sc_event_new(s_default_ctx, useless_scp_process.addr, SC_EVENT_ADD_OUTPUT_ARC, 0, destroy_scp_process, 0);
    if (event_process_destroy == nullptr)
        return SCP_RESULT_ERROR;
    return SCP_RESULT_TRUE;
}
Exemple #4
0
void test7()
{
    sc_uint32 i, j;
    sc_addr addr, addr1, addr2;
    sc_addr new_addr;
    sc_event *event1, *event2, *event3, *event4;

    printf("Segments count: %d\n", sc_storage_get_segments_count());
    print_storage_statistics();

    timer = g_timer_new();

    g_timer_reset(timer);
    g_timer_start(timer);

    addr = sc_storage_node_new(0);
    addr1 = sc_storage_node_new(0);
    printf("Register events\n");
    event1 = sc_event_new(addr, SC_EVENT_ADD_OUTPUT_ARC, 0, &event_callback, 0);
    event2 = sc_event_new(addr1, SC_EVENT_ADD_INPUT_ARC, 1, &event_callback, 0);
    event3 = sc_event_new(addr, SC_EVENT_REMOVE_OUTPUT_ARC, 2, &event_callback, 0);
    event4 = sc_event_new(addr1, SC_EVENT_REMOVE_INPUT_ARC, 3, &event_callback, 0);

    addr2 = sc_storage_arc_new(0, addr, addr1);
    sc_storage_element_free(addr2);

    printf("Unregister events\n");
    sc_event_destroy(event1);
    sc_event_destroy(event2);
    sc_event_destroy(event3);
    sc_event_destroy(event4);

    addr2 = sc_storage_arc_new(0, addr, addr1);
    sc_storage_element_free(addr2);

    g_timer_stop(timer);

    printf("Segments count: %d\n", sc_storage_get_segments_count());
    print_storage_statistics();

    g_timer_destroy(timer);
}
Exemple #5
0
_SC_EXT_EXTERN sc_result sc_module_initialize()
{
  s_default_ctx = sc_memory_context_new(sc_access_lvl_make_min);
  s_garbage_ctx = sc_memory_context_new(sc_access_lvl_make_max);

  if (utils_collect_keynodes_initialize() != SC_RESULT_OK)
    return SC_RESULT_ERROR;

  if (utils_collect_identifiers_initialize() != SC_RESULT_OK)
    return SC_RESULT_ERROR;

  if (utils_keynodes_initialize() != SC_RESULT_OK)
    return SC_RESULT_ERROR;

  event_garbage_deletion = sc_event_new(s_default_ctx, keynode_sc_garbage, SC_EVENT_ADD_OUTPUT_ARC, 0, agent_garbage_delete, 0);
  if (event_garbage_deletion == null_ptr)
    return SC_RESULT_ERROR;

  return SC_RESULT_OK;
}
bool sctpEventManager::createEvent(sc_memory_context *ctx, sc_event_type type, sc_addr addr, sctpCommand *cmd, tEventId &event)
{
    QMutexLocker locker(&mEventsMutex);


    if (!_getAvailableEventId(event))
        return false;

    sEventData *evt = new sEventData();

    evt->cmd = cmd;
    evt->id = event;
    evt->event = sc_event_new(ctx, addr, type, UINT_TO_POINTER(event), &sctpEventManager::_eventsCallback, 0);

    Q_ASSERT(mEvents.find(evt->id) == mEvents.end());

    mEvents[evt->id] = evt;

    return true;
}
Exemple #7
0
_SC_EXT_EXTERN sc_result sc_module_initialize()
{
  s_default_ctx = sc_memory_context_new(sc_access_lvl_make_min);

  if (search_keynodes_initialize() != SC_RESULT_OK)
    return SC_RESULT_ERROR;

  event_question_search_all_output_arcs = sc_event_new(s_default_ctx, keynode_question_initiated, SC_EVENT_ADD_OUTPUT_ARC, 0, agent_search_all_const_pos_output_arc, 0);
  if (event_question_search_all_output_arcs == null_ptr)
    return SC_RESULT_ERROR;

  event_question_search_all_input_arcs = sc_event_new(s_default_ctx, keynode_question_initiated, SC_EVENT_ADD_OUTPUT_ARC, 0, agent_search_all_const_pos_input_arc, 0);
  if (event_question_search_all_input_arcs == null_ptr)
    return SC_RESULT_ERROR;

  event_question_search_all_output_arcs_with_rel = sc_event_new(s_default_ctx, keynode_question_initiated, SC_EVENT_ADD_OUTPUT_ARC, 0, agent_search_all_const_pos_output_arc_with_rel, 0);
  if (event_question_search_all_input_arcs == null_ptr)
    return SC_RESULT_ERROR;

  event_question_search_all_input_arcs_with_rel = sc_event_new(s_default_ctx, keynode_question_initiated, SC_EVENT_ADD_OUTPUT_ARC, 0, agent_search_all_const_pos_input_arc_with_rel, 0);
  if (event_question_search_all_input_arcs == null_ptr)
    return SC_RESULT_ERROR;

  event_question_search_full_semantic_neighborhood = sc_event_new(s_default_ctx, keynode_question_initiated, SC_EVENT_ADD_OUTPUT_ARC, 0, agent_search_full_semantic_neighborhood, 0);
  if (event_question_search_full_semantic_neighborhood == null_ptr)
    return SC_RESULT_ERROR;

  event_question_search_decomposition = sc_event_new(s_default_ctx, keynode_question_initiated, SC_EVENT_ADD_OUTPUT_ARC, 0, agent_search_decomposition, 0);
  if (event_question_search_decomposition == null_ptr)
    return SC_RESULT_ERROR;

  event_question_search_all_identifiers = sc_event_new(s_default_ctx, keynode_question_initiated, SC_EVENT_ADD_OUTPUT_ARC, 0, agent_search_all_identifiers, 0);
  if (event_question_search_all_identifiers == null_ptr)
    return SC_RESULT_ERROR;

  event_question_search_all_identified_elements = sc_event_new(s_default_ctx, keynode_question_initiated, SC_EVENT_ADD_OUTPUT_ARC, 0, agent_search_all_identified_elements, 0);
  if (event_question_search_all_identified_elements == null_ptr)
    return SC_RESULT_ERROR;

  event_question_search_all_subclasses_in_quasybinary_relation = sc_event_new(s_default_ctx, keynode_question_initiated, SC_EVENT_ADD_OUTPUT_ARC, 0, agent_search_all_subclasses_in_quasybinary_relation, 0);
  if (event_question_search_all_subclasses_in_quasybinary_relation == null_ptr)
    return SC_RESULT_ERROR;

  event_question_search_all_superclasses_in_quasybinary_relation = sc_event_new(s_default_ctx, keynode_question_initiated, SC_EVENT_ADD_OUTPUT_ARC, 0, agent_search_all_superclasses_in_quasybinary_relation, 0);
  if (event_question_search_all_superclasses_in_quasybinary_relation == null_ptr)
    return SC_RESULT_ERROR;

  event_question_search_links_of_relation_connected_with_element = sc_event_new(s_default_ctx, keynode_question_initiated, SC_EVENT_ADD_OUTPUT_ARC, 0, agent_search_links_of_relation_connected_with_element, 0);
  if (event_question_search_links_of_relation_connected_with_element == null_ptr)
    return SC_RESULT_ERROR;

  return SC_RESULT_OK;
}