int seaf_obj_store_read_obj (struct SeafObjStore *obj_store, const char *obj_id, void **data, int *len) { ObjBackend *bend = obj_store->bend; return bend->read (bend, obj_id, data, len); }
int seaf_obj_store_read_obj (struct SeafObjStore *obj_store, const char *repo_id, int version, const char *obj_id, void **data, int *len) { ObjBackend *bend = obj_store->bend; if (!is_uuid_valid(repo_id) || !is_object_id_valid(obj_id)) return -1; return bend->read (bend, repo_id, version, obj_id, data, len); }
static void reader_thread (void *data, void *user_data) { AsyncTask *task = data; SeafObjStore *obj_store = user_data; ObjBackend *bend = obj_store->bend; task->success = TRUE; if (bend->read (bend, task->obj_id, &task->data, &task->len) < 0) task->success = FALSE; cevent_manager_add_event (obj_store->ev_mgr, obj_store->read_ev_id, task); }
static void reader_thread (void *data, void *user_data) { AsyncTask *task = data; SeafObjStore *obj_store = user_data; ObjBackend *bend = obj_store->bend; OSCallbackStruct *callback; callback = g_hash_table_lookup (obj_store->readers, (gpointer)(long)(task->rw_id)); if (callback) { task->success = TRUE; if (bend->read (bend, callback->repo_id, callback->version, task->obj_id, &task->data, &task->len) < 0) task->success = FALSE; } cevent_manager_add_event (obj_store->ev_mgr, obj_store->read_ev_id, task); }