2016-10-29 15:22:33 -07:00
|
|
|
#include "object_table.h"
|
|
|
|
#include "redis.h"
|
|
|
|
|
|
|
|
void object_table_lookup(db_handle *db_handle,
|
|
|
|
object_id object_id,
|
|
|
|
retry_info *retry,
|
|
|
|
object_table_lookup_done_callback done_callback,
|
|
|
|
void *user_context) {
|
|
|
|
init_table_callback(db_handle, object_id, NULL, retry, done_callback,
|
|
|
|
redis_object_table_lookup, user_context);
|
|
|
|
}
|
|
|
|
|
|
|
|
void object_table_add(db_handle *db_handle,
|
|
|
|
object_id object_id,
|
|
|
|
retry_info *retry,
|
|
|
|
object_table_done_callback done_callback,
|
|
|
|
void *user_context) {
|
|
|
|
init_table_callback(db_handle, object_id, NULL, retry, done_callback,
|
|
|
|
redis_object_table_add, user_context);
|
|
|
|
}
|
|
|
|
|
|
|
|
void object_table_subscribe(
|
|
|
|
db_handle *db_handle,
|
|
|
|
object_id object_id,
|
|
|
|
object_table_object_available_callback object_available_callback,
|
|
|
|
void *subscribe_context,
|
|
|
|
retry_info *retry,
|
|
|
|
object_table_done_callback done_callback,
|
|
|
|
void *user_context) {
|
|
|
|
object_table_subscribe_data *sub_data =
|
|
|
|
malloc(sizeof(object_table_subscribe_data));
|
|
|
|
utarray_push_back(db_handle->callback_freelist, &sub_data);
|
|
|
|
sub_data->object_available_callback = object_available_callback;
|
|
|
|
sub_data->subscribe_context = subscribe_context;
|
|
|
|
|
|
|
|
init_table_callback(db_handle, object_id, sub_data, retry, done_callback,
|
|
|
|
redis_object_table_subscribe, user_context);
|
|
|
|
}
|
2016-11-10 18:13:26 -08:00
|
|
|
|
|
|
|
void result_table_add(db_handle *db_handle,
|
|
|
|
object_id object_id,
|
|
|
|
task_id task_id_arg,
|
|
|
|
retry_info *retry,
|
|
|
|
result_table_done_callback done_callback,
|
|
|
|
void *user_context) {
|
|
|
|
task_id *task_id_copy = malloc(sizeof(task_id));
|
|
|
|
memcpy(task_id_copy, task_id_arg.id, sizeof(task_id));
|
|
|
|
init_table_callback(db_handle, object_id, task_id_copy, retry, done_callback,
|
|
|
|
redis_result_table_add, user_context);
|
|
|
|
}
|
|
|
|
|
|
|
|
void result_table_lookup(db_handle *db_handle,
|
|
|
|
object_id object_id,
|
|
|
|
retry_info *retry,
|
|
|
|
result_table_lookup_callback done_callback,
|
|
|
|
void *user_context) {
|
|
|
|
init_table_callback(db_handle, object_id, NULL, retry, done_callback,
|
|
|
|
redis_result_table_lookup, user_context);
|
|
|
|
}
|