#include #include static void show_info(const char *str) { printf("********************************\n"); printf("* %s\n", str); printf("********************************\n\n"); } int main(int argc, char **argv) { int buffer_size = 2048; int buffer_num = 3; // create struct iobuffer_pool *pool = iobuffer_pool_create(buffer_size, buffer_num); if (pool == NULL) { return 0; } show_info("After Create"); iobuffer_pool_print(pool); // pop show_info("After Pop"); struct iobuffer *buffer1 = iobuffer_pool_pop(pool); printf("pop buffer1: %p\n\n", buffer1); iobuffer_pool_print(pool); struct iobuffer *buffer2 = iobuffer_pool_pop(pool); printf("pop buffer2: %p\n\n", buffer2); iobuffer_pool_print(pool); struct iobuffer *buffer3 = iobuffer_pool_pop(pool); printf("pop buffer3: %p\n\n", buffer3); iobuffer_pool_print(pool); struct iobuffer *buffer4 = iobuffer_pool_pop(pool); printf("pop buffer4: %p\n\n", buffer4); iobuffer_pool_print(pool); // push show_info("After Push"); iobuffer_pool_push(pool, buffer1); printf("push buffer1: %p\n\n", buffer1); iobuffer_pool_print(pool); iobuffer_pool_push(pool, buffer2); printf("push buffer2: %p\n\n", buffer2); iobuffer_pool_print(pool); iobuffer_pool_push(pool, buffer3); printf("push buffer3: %p\n\n", buffer3); iobuffer_pool_print(pool); iobuffer_pool_push(pool, buffer4); printf("push buffer4: %p\n\n", buffer4); iobuffer_pool_print(pool); // destory iobuffer_pool_destory(pool); pool = NULL; show_info("After Destory"); iobuffer_pool_print(pool); return 0; }