This allows adding more methods without modifying all the existing drivers.
struct dict dict_driver_cdb = {
.name = "cdb",
{
- cdb_dict_init,
- cdb_dict_deinit,
- NULL,
- cdb_dict_lookup,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL
+ .init = cdb_dict_init,
+ .deinit = cdb_dict_deinit,
+ .lookup = cdb_dict_lookup,
}
};
#endif
.name = "proxy",
{
- client_dict_init,
- client_dict_deinit,
- client_dict_wait,
- client_dict_lookup,
- client_dict_iterate_init,
- client_dict_iterate,
- client_dict_iterate_deinit,
- client_dict_transaction_init,
- client_dict_transaction_commit,
- client_dict_transaction_rollback,
- client_dict_set,
- client_dict_unset,
- NULL,
- client_dict_atomic_inc,
- client_dict_lookup_async,
- client_dict_switch_ioloop
+ .init = client_dict_init,
+ .deinit = client_dict_deinit,
+ .wait = client_dict_wait,
+ .lookup = client_dict_lookup,
+ .iterate_init = client_dict_iterate_init,
+ .iterate = client_dict_iterate,
+ .iterate_deinit = client_dict_iterate_deinit,
+ .transaction_init = client_dict_transaction_init,
+ .transaction_commit = client_dict_transaction_commit,
+ .transaction_rollback = client_dict_transaction_rollback,
+ .set = client_dict_set,
+ .unset = client_dict_unset,
+ .atomic_inc = client_dict_atomic_inc,
+ .lookup_async = client_dict_lookup_async,
+ .switch_ioloop = client_dict_switch_ioloop
}
};
struct dict dict_driver_db = {
.name = "db",
{
- db_dict_init,
- db_dict_deinit,
- NULL,
- db_dict_lookup,
- db_dict_iterate_init,
- db_dict_iterate,
- db_dict_iterate_deinit,
- db_dict_transaction_init,
- db_dict_transaction_commit,
- db_dict_transaction_rollback,
- db_dict_set,
- db_dict_unset,
- db_dict_atomic_inc
+ .init = db_dict_init,
+ .deinit = db_dict_deinit,
+ .lookup = db_dict_lookup,
+ .iterate_init = db_dict_iterate_init,
+ .iterate = db_dict_iterate,
+ .iterate_deinit = db_dict_iterate_deinit,
+ .transaction_init = db_dict_transaction_init,
+ .transaction_commit = db_dict_transaction_commit,
+ .transaction_rollback = db_dict_transaction_rollback,
+ .set = db_dict_set,
+ .unset = db_dict_unset,
+ .atomic_inc = db_dict_atomic_inc,
}
};
#endif
struct dict dict_driver_file = {
.name = "file",
{
- file_dict_init,
- file_dict_deinit,
- NULL,
- file_dict_lookup,
- file_dict_iterate_init,
- file_dict_iterate,
- file_dict_iterate_deinit,
- file_dict_transaction_init,
- file_dict_transaction_commit,
- dict_transaction_memory_rollback,
- dict_transaction_memory_set,
- dict_transaction_memory_unset,
- dict_transaction_memory_append,
- dict_transaction_memory_atomic_inc,
- NULL,
- NULL
+ .init = file_dict_init,
+ .deinit = file_dict_deinit,
+ .lookup = file_dict_lookup,
+ .iterate_init = file_dict_iterate_init,
+ .iterate = file_dict_iterate,
+ .iterate_deinit = file_dict_iterate_deinit,
+ .transaction_init = file_dict_transaction_init,
+ .transaction_commit = file_dict_transaction_commit,
+ .transaction_rollback = dict_transaction_memory_rollback,
+ .set = dict_transaction_memory_set,
+ .unset = dict_transaction_memory_unset,
+ .append = dict_transaction_memory_append,
+ .atomic_inc = dict_transaction_memory_atomic_inc,
}
};
struct dict dict_driver_memcached_ascii = {
.name = "memcached_ascii",
{
- memcached_ascii_dict_init,
- memcached_ascii_dict_deinit,
- NULL,
- memcached_ascii_dict_lookup,
- NULL,
- NULL,
- NULL,
- memcached_ascii_transaction_init,
- memcached_ascii_transaction_commit,
- dict_transaction_memory_rollback,
- dict_transaction_memory_set,
- dict_transaction_memory_unset,
- dict_transaction_memory_append,
- dict_transaction_memory_atomic_inc,
- NULL,
- NULL
+ .init = memcached_ascii_dict_init,
+ .deinit = memcached_ascii_dict_deinit,
+ .lookup = memcached_ascii_dict_lookup,
+ .transaction_init = memcached_ascii_transaction_init,
+ .transaction_commit = memcached_ascii_transaction_commit,
+ .transaction_rollback = dict_transaction_memory_rollback,
+ .set = dict_transaction_memory_set,
+ .unset = dict_transaction_memory_unset,
+ .append = dict_transaction_memory_append,
+ .atomic_inc = dict_transaction_memory_atomic_inc,
}
};
struct dict dict_driver_memcached = {
.name = "memcached",
{
- memcached_dict_init,
- memcached_dict_deinit,
- NULL,
- memcached_dict_lookup,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL
+ .init = memcached_dict_init,
+ .deinit = memcached_dict_deinit,
+ .lookup = memcached_dict_lookup,
}
};
struct dict dict_driver_redis = {
.name = "redis",
{
- redis_dict_init,
- redis_dict_deinit,
- NULL,
- redis_dict_lookup,
- NULL,
- NULL,
- NULL,
- redis_transaction_init,
- redis_transaction_commit,
- redis_transaction_rollback,
- redis_set,
- redis_unset,
- redis_append,
- redis_atomic_inc,
- NULL,
- NULL
+ .init = redis_dict_init,
+ .deinit = redis_dict_deinit,
+ .lookup = redis_dict_lookup,
+ .transaction_init = redis_transaction_init,
+ .transaction_commit = redis_transaction_commit,
+ .transaction_rollback = redis_transaction_rollback,
+ .set = redis_set,
+ .unset = redis_unset,
+ .append = redis_append,
+ .atomic_inc = redis_atomic_inc,
}
};
.name = "sql",
{
- sql_dict_init,
- sql_dict_deinit,
- sql_dict_wait,
- sql_dict_lookup,
- sql_dict_iterate_init,
- sql_dict_iterate,
- sql_dict_iterate_deinit,
- sql_dict_transaction_init,
- sql_dict_transaction_commit,
- sql_dict_transaction_rollback,
- sql_dict_set,
- sql_dict_unset,
- sql_dict_append,
- sql_dict_atomic_inc,
- sql_dict_lookup_async,
- NULL
+ .init = sql_dict_init,
+ .deinit = sql_dict_deinit,
+ .wait = sql_dict_wait,
+ .lookup = sql_dict_lookup,
+ .iterate_init = sql_dict_iterate_init,
+ .iterate = sql_dict_iterate,
+ .iterate_deinit = sql_dict_iterate_deinit,
+ .transaction_init = sql_dict_transaction_init,
+ .transaction_commit = sql_dict_transaction_commit,
+ .transaction_rollback = sql_dict_transaction_rollback,
+ .set = sql_dict_set,
+ .unset = sql_dict_unset,
+ .append = sql_dict_append,
+ .atomic_inc = sql_dict_atomic_inc,
+ .lookup_async = sql_dict_lookup_async,
}
};