#include <ri.h>
#include <stdio.h>
#include <stdlib.h>
int main(void) {
printf("=== Ri Cache Module Example - C ===\n\n");
int passed = 0;
int failed = 0;
printf("1. Creating cache configuration...\n");
RiCacheConfig* config = ri_cache_config_new();
if (config == NULL) {
printf(" [FAIL] Failed to create cache config\n");
return 1;
}
ri_cache_config_set_enabled(config, true);
ri_cache_config_set_backend_type(config, Ri_CACHE_BACKEND_MEMORY);
ri_cache_config_set_default_ttl_secs(config, 300);
ri_cache_config_set_max_memory_mb(config, 512);
printf(" Cache config created (memory backend)\n\n");
printf("2. Creating cache module...\n");
RiCacheModule* cache_module = ri_cache_module_new(config);
if (cache_module == NULL) {
printf(" [FAIL] Failed to create cache module\n");
ri_cache_config_free(config);
return 1;
}
printf(" Cache module created\n\n");
printf("3. Cache configuration:\n");
printf(" Enabled: %s\n", ri_cache_config_is_enabled(config) ? "true" : "false");
printf(" Backend type: %d\n", ri_cache_config_get_backend_type(config));
printf(" Default TTL: %llu seconds\n", ri_cache_config_get_default_ttl_secs(config));
printf(" Max memory: %llu MB\n\n", ri_cache_config_get_max_memory_mb(config));
ri_cache_module_free(cache_module);
ri_cache_config_free(config);
printf("=== Cache Example Completed ===\n\n");
printf("Test Summary:\n");
printf(" Passed: %d\n", passed);
printf(" Failed: %d\n", failed);
return (failed > 0) ? 1 : 0;
}