示例#1
0
文件: obj-store.c 项目: 2bj/seafile
int
seaf_obj_store_write_obj (struct SeafObjStore *obj_store,
                          const char *obj_id,
                          void *data,
                          int len)
{
    ObjBackend *bend = obj_store->bend;

    return bend->write (bend, obj_id, data, len);
}
示例#2
0
int
seaf_obj_store_write_obj (struct SeafObjStore *obj_store,
                          const char *repo_id,
                          int version,
                          const char *obj_id,
                          void *data,
                          int len,
                          gboolean need_sync)
{
    ObjBackend *bend = obj_store->bend;

    return bend->write (bend, repo_id, version, obj_id, data, len, need_sync);
}
示例#3
0
文件: obj-store.c 项目: 2bj/seafile
static void
writer_thread (void *data, void *user_data)
{
    AsyncTask *task = data;
    SeafObjStore *obj_store = user_data;
    ObjBackend *bend = obj_store->bend;

    task->success = TRUE;

    if (bend->write (bend, task->obj_id, task->data, task->len) < 0)
        task->success = FALSE;

    cevent_manager_add_event (obj_store->ev_mgr, obj_store->write_ev_id,
                              task);
}
示例#4
0
int
seaf_obj_store_write_obj (struct SeafObjStore *obj_store,
                          const char *repo_id,
                          int version,
                          const char *obj_id,
                          void *data,
                          int len,
                          gboolean need_sync)
{
    ObjBackend *bend = obj_store->bend;

    if (!is_uuid_valid(repo_id) || !is_object_id_valid(obj_id))
        return -1;

    return bend->write (bend, repo_id, version, obj_id, data, len, need_sync);
}
示例#5
0
static void
writer_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->writers,
                                    (gpointer)(long)(task->rw_id));
    if (callback) {
        task->success = TRUE;

        if (bend->write (bend, callback->repo_id, callback->version,
                         task->obj_id, task->data, task->len, task->need_sync) < 0)
            task->success = FALSE;
    }

    cevent_manager_add_event (obj_store->ev_mgr, obj_store->write_ev_id,
                              task);
}