/** ******************************************************************************* * \brief ******************************************************************************/ static void kv_async_SET_KEY(async_CB_t *pCB) { uint64_t tag = (uint64_t)pCB; int32_t rc = 0; KV_TRC_IO(pFT, "SET_KEY: %p, %p %"PRIx64" %d", pCB, pCB->db, tag, pCB->len_i); pCB->tag = tag; rc = ark_set_async_cb(pCB->ark, pCB->db[pCB->len_i].klen, pCB->db[pCB->len_i].key, pCB->db[pCB->len_i].vlen, pCB->db[pCB->len_i].value, pCB->cb, tag); if (EAGAIN == rc) { kv_async_q_retry(pCB); } else { EXPECT_EQ(0, rc); } }
/** ******************************************************************************** ** \brief ** save a key/value into the ark db *******************************************************************************/ void kv_async_SET_KEY(async_CB_t *pCB) { uint32_t rc=0; pCB->tag = pCB->itag + pCB->len_i; while (EAGAIN == (rc=ark_set_async_cb(pCB->ark, pCB->db->klen, pCB->db->kv[pCB->len_i].key, pCB->db->vlen, pCB->db->kv[pCB->len_i].value, kv_async_cb, pCB->tag))) usleep(10000); if (rc) KV_ERR_STOP(pCB,"SET_KEY",rc); }