void test_case_cscore_004(const UINT32 cscore_md_id) { void *csdoc_words_1; void *csdoc_words_2; void *csdoc_words_3; void *csdoc_words_list; void *csword_docs; void *csdoc; csdoc_words_list = clist_new(MM_CSDOC_WORDS, 0); ASSERT(NULL_PTR != csdoc_words_list); /*make csdoc_words_1 = {doc={1001,1002,1003}, words={pepople, republic, of, china}}*/ csdoc_words_1 = cscore_csdoc_words_new(cscore_md_id); ASSERT(NULL_PTR != csdoc_words_1); csdoc = (void *)cscore_csdoc_words_get_doc(cscore_md_id, csdoc_words_1); __test_case_cscore_csdoc_set_doc(cscore_md_id, csdoc, 1001, 1002, 1003); __test_case_cscore_csdoc_words_add_words(cscore_md_id, csdoc_words_1, 4, (UINT8 *)"pepole", (UINT8 *)"republic", (UINT8 *)"of", (UINT8 *)"china"); clist_push_back(csdoc_words_list, (void *)csdoc_words_1); /*make csdoc_words_2 = {doc={1101,1002,1003}, words={pepople, working, hard}}*/ csdoc_words_2 = cscore_csdoc_words_new(cscore_md_id); ASSERT(NULL_PTR != csdoc_words_2); csdoc = (void *)cscore_csdoc_words_get_doc(cscore_md_id, csdoc_words_2); __test_case_cscore_csdoc_set_doc(cscore_md_id, csdoc, 1101, 1002, 1003); __test_case_cscore_csdoc_words_add_words(cscore_md_id, csdoc_words_2, 3, (UINT8 *)"pepole", (UINT8 *)"working", (UINT8 *)"hard"); clist_push_back(csdoc_words_list, (void *)csdoc_words_2); /*make csdoc_words_3 = {doc={1101,1002,1003}, words={pepople, living, happ}}*/ csdoc_words_3 = cscore_csdoc_words_new(cscore_md_id); ASSERT(NULL_PTR != csdoc_words_3); csdoc = (void *)cscore_csdoc_words_get_doc(cscore_md_id, csdoc_words_3); __test_case_cscore_csdoc_set_doc(cscore_md_id, csdoc, 1011, 1002, 1003); __test_case_cscore_csdoc_words_add_words(cscore_md_id, csdoc_words_3, 3, (UINT8 *)"pepole", (UINT8 *)"living", (UINT8 *)"happ"); clist_push_back(csdoc_words_list, (void *)csdoc_words_3); /*import csdoc_words_1 into bigtable*/ dbg_log(SEC_0137_DEMO, 9)(LOGSTDOUT, "[DEBUG] test_case_cscore_004: import beg\n"); ASSERT(EC_TRUE == cscore_csdoc_words_list_import(cscore_md_id, csdoc_words_list)); clist_free_with_modi(csdoc_words_list, cscore_md_id); dbg_log(SEC_0137_DEMO, 9)(LOGSTDOUT, "[DEBUG] test_case_cscore_004: import end\n"); /*make csword_docs ready*/ csword_docs = cscore_csword_docs_new(cscore_md_id); ASSERT(NULL_PTR != csword_docs); /*add cswords to csword_docs*/ __test_case_cscore_csword_docs_set_word(cscore_md_id, csword_docs, (UINT8 *)"pepole"); dbg_log(SEC_0137_DEMO, 9)(LOGSTDOUT, "[DEBUG] test_case_cscore_004: export beg\n"); ASSERT(EC_TRUE == cscore_csword_docs_export(cscore_md_id, CBGT_SELECT_FROM_ALL_TABLE, csword_docs)); dbg_log(SEC_0137_DEMO, 9)(LOGSTDOUT, "[DEBUG] test_case_cscore_004: export end\n"); dbg_log(SEC_0137_DEMO, 9)(LOGSTDOUT, "[DEBUG] test_case_cscore_004: export result:\n"); cscore_csword_docs_print(LOGSTDOUT, csword_docs); cscore_csword_docs_free(cscore_md_id, csword_docs); return; }
static void __test_case_cscore_csword_list_add_word(const UINT32 cscore_md_id, void *csword_list, const UINT8 *word_name) { void *csword; csword = cscore_csword_make_by_str_content(cscore_md_id, word_name); ASSERT(NULL_PTR != csword); clist_push_back(csword_list, (void *)csword); return; }
EC_BOOL cproc_irecv_node(CPROC *cproc, CPROC_ITEM *cproc_item, CLIST *save_to_list) { TASK_NODE *task_node; task_node = CPROC_ITEM_INCOMING_TASK_NODE(cproc_item); if(NULL_PTR != task_node) { TASK_BRD_DEFAULT_ACTIVE_COUNTER_INC(LOC_CPROC_0003); if(EC_FALSE == cproc_fix_task_node(cproc, cproc_item, task_node)) { return (EC_TRUE); } clist_push_back(save_to_list, (void *)task_node);/*here task node not decoded yet*/ TASK_NODE_COMP(task_node) = TASK_WAS_RECV; CPROC_ITEM_INCOMING_TASK_NODE(cproc_item) = NULL_PTR; } for(;;) { task_node = cproc_fetch_task_node(cproc, cproc_item); if(NULL_PTR == task_node) { break; } TASK_BRD_DEFAULT_ACTIVE_COUNTER_INC(LOC_CPROC_0004); if(TASK_NODE_BUFF_POS(task_node) == TASK_NODE_BUFF_LEN(task_node)) { clist_push_back(save_to_list, (void *)task_node); /*here task node not decoded yet*/ TASK_NODE_COMP(task_node) = TASK_WAS_RECV; //sys_log(LOGSTDOUT, "[DEBUG] cproc_irecv_node: save incomded task_node\n"); } else { CPROC_ITEM_INCOMING_TASK_NODE(cproc_item) = task_node; //sys_log(LOGSTDOUT, "[DEBUG] cproc_irecv_node: save incoming task_node\n"); /*terminate this loop*/ break; } } return (EC_TRUE); }
clist_t* clist_copy(clist_t *list) { if (list == NULL) return NULL; clist_t *copyList = new_clist(); cnode_t *node = NULL; for (node = list->front; node != NULL; node = node->next) { clist_push_back(copyList, node->data); } return copyList; }
EC_BOOL cset_add(CSET *cset, void *data, EC_BOOL (*cmp)(const void *, const void *)) { if(NULL_PTR != clist_search_front(cset, data, (NULL_PTR == cmp) ? cset_data_cmp_default: cmp)) { //dbg_log(SEC_0128_CSET, 0)(LOGSTDOUT, "error:cset_add: cset %lx, data %lx find duplicate when add\n", cset); return (EC_FALSE); } clist_push_back(cset, data); return (EC_TRUE); }
void clist_insert_before(clist_t* list, clist_node_t* pos, clist_node_t* node) { node->prev = NULL; node->next = NULL; if (pos == NULL) { clist_push_back(list, node); } else if (pos == clist_head(list)) { clist_push_front(list, node); } else { node->next = pos; node->prev = pos->prev; pos->prev->next = node; pos->prev = node; ++list->count; } }
void clist_insert_after(clist_t* list, clist_node_t* pos, clist_node_t* node) { node->next = NULL; node->prev = NULL; if (pos == NULL) { clist_push_front(list, node); } else if (pos == clist_tail(list)) { clist_push_back(list, node); } else { pos->next->prev = node; node->next = pos->next; pos->next = node; node->prev = pos; ++list->count; } }
void test_case_cscore_003(const UINT32 cscore_md_id) { void *csdoc_words_1; void *csdoc_words_2; void *csdoc_words_list; void *csword_docs; void *csdoc; void *csword; csdoc_words_list = clist_new(MM_CSDOC_WORDS, 0); ASSERT(NULL_PTR != csdoc_words_list); /*make csdoc_words_1 ready*/ csdoc_words_1 = cscore_csdoc_words_new(cscore_md_id); ASSERT(NULL_PTR != csdoc_words_1); /*{doc={1001,1002,1003}, words={pepople, republic, of, china}}*/ /*set csdoc of csdoc_words_1*/ csdoc = (void *)cscore_csdoc_words_get_doc(cscore_md_id, csdoc_words_1); cscore_csdoc_set_doc_id (cscore_md_id, csdoc, 1001); cscore_csdoc_set_doc_type(cscore_md_id, csdoc, 1002); cscore_csdoc_set_doc_code(cscore_md_id, csdoc, 1003); /*add cswords to csdoc_words_1*/ csword = cscore_csword_make_by_str_content(cscore_md_id, (UINT8 *)"pepole"); ASSERT(NULL_PTR != csword); cscore_csdoc_words_push_word(cscore_md_id, csdoc_words_1, csword); csword = cscore_csword_make_by_str_content(cscore_md_id, (UINT8 *)"republic"); ASSERT(NULL_PTR != csword); cscore_csdoc_words_push_word(cscore_md_id, csdoc_words_1, csword); csword = cscore_csword_make_by_str_content(cscore_md_id, (UINT8 *)"of"); ASSERT(NULL_PTR != csword); cscore_csdoc_words_push_word(cscore_md_id, csdoc_words_1, csword); csword = cscore_csword_make_by_str_content(cscore_md_id, (UINT8 *)"china"); ASSERT(NULL_PTR != csword); cscore_csdoc_words_push_word(cscore_md_id, csdoc_words_1, csword); clist_push_back(csdoc_words_list, (void *)csdoc_words_1); /*make csdoc_words_2 ready*/ csdoc_words_2 = cscore_csdoc_words_new(cscore_md_id); ASSERT(NULL_PTR != csdoc_words_2); /*{doc={1101,1002,1003}, words={pepople, working, hard}}*/ /*set csdoc of csdoc_words_2*/ csdoc = (void *)cscore_csdoc_words_get_doc(cscore_md_id, csdoc_words_2); cscore_csdoc_set_doc_id (cscore_md_id, csdoc, 1101); cscore_csdoc_set_doc_type(cscore_md_id, csdoc, 1002); cscore_csdoc_set_doc_code(cscore_md_id, csdoc, 1003); /*add cswords to csdoc_words_2*/ csword = cscore_csword_make_by_str_content(cscore_md_id, (UINT8 *)"pepole"); ASSERT(NULL_PTR != csword); cscore_csdoc_words_push_word(cscore_md_id, csdoc_words_2, csword); csword = cscore_csword_make_by_str_content(cscore_md_id, (UINT8 *)"working"); ASSERT(NULL_PTR != csword); cscore_csdoc_words_push_word(cscore_md_id, csdoc_words_2, csword); csword = cscore_csword_make_by_str_content(cscore_md_id, (UINT8 *)"hard"); ASSERT(NULL_PTR != csword); cscore_csdoc_words_push_word(cscore_md_id, csdoc_words_2, csword); clist_push_back(csdoc_words_list, (void *)csdoc_words_2); /*import csdoc_words_1 into bigtable*/ dbg_log(SEC_0137_DEMO, 9)(LOGSTDOUT, "[DEBUG] test_case_cscore_003: import beg\n"); ASSERT(EC_TRUE == cscore_csdoc_words_list_import(cscore_md_id, csdoc_words_list)); clist_free_with_modi(csdoc_words_list, cscore_md_id); dbg_log(SEC_0137_DEMO, 9)(LOGSTDOUT, "[DEBUG] test_case_cscore_003: import end\n"); /*make csword_docs ready*/ csword_docs = cscore_csword_docs_new(cscore_md_id); ASSERT(NULL_PTR != csword_docs); /*add cswords to csword_docs*/ csword = cscore_csword_make_by_str_content(cscore_md_id, (UINT8 *)"pepole"); ASSERT(NULL_PTR != csword); cscore_csword_docs_set_word(cscore_md_id, csword_docs, csword); cscore_csword_free(cscore_md_id, csword); dbg_log(SEC_0137_DEMO, 9)(LOGSTDOUT, "[DEBUG] test_case_cscore_003: export beg\n"); ASSERT(EC_TRUE == cscore_csword_docs_export(cscore_md_id, CBGT_SELECT_FROM_ALL_TABLE, csword_docs)); dbg_log(SEC_0137_DEMO, 9)(LOGSTDOUT, "[DEBUG] test_case_cscore_003: export end\n"); dbg_log(SEC_0137_DEMO, 9)(LOGSTDOUT, "[DEBUG] test_case_cscore_003: export result:\n"); cscore_csword_docs_print(LOGSTDOUT, csword_docs); cscore_csword_docs_free(cscore_md_id, csword_docs); return; }
EC_BOOL cproc_isend_node(CPROC *cproc, CPROC_ITEM *cproc_item, TASK_NODE *task_node) { clist_push_back(CPROC_ITEM_SENDING_QUEUE(cproc_item), (void *)task_node); return (EC_TRUE); }