From e1e97f1f98baf82efcd5825d7c7a7b4b1b2f2e40 Mon Sep 17 00:00:00 2001 From: wangzhengquan <wangzhengquan85@126.com> Date: 星期一, 13 七月 2020 19:03:21 +0800 Subject: [PATCH] udpate --- queue/include/shm_queue_wrapper.h | 39 ++++++++++++++++++++++----------------- 1 files changed, 22 insertions(+), 17 deletions(-) diff --git a/queue/include/shm_queue_wrapper.h b/queue/include/shm_queue_wrapper.h index 4ab857c..fadc6ae 100644 --- a/queue/include/shm_queue_wrapper.h +++ b/queue/include/shm_queue_wrapper.h @@ -11,62 +11,67 @@ #endif /** - * 鍒濆鍖� + * 鍒涘缓闃熷垪 * @ shmqueue - * @ key 鏍囪瘑鍏变韩闃熷垪鐨勫敮涓�key - * @ queue_size 闃熷垪澶у皬 , 杩欎釜鍊煎繀椤绘槸2鐨勬寚鏁板嵆 1, 2, 4, 8, 16 绛� - * @ ele_size 闃熷垪涓厓绱犲ぇ灏�, 杩欎釜鍊间笉鑳借秴杩�512锛屽綋鐒跺鏋滈渶瑕佸彲浠ヨ皟鏁磋繖涓渶澶ч檺鍒� + * @ key 鏍囪瘑鍏变韩闃熷垪鐨勫敮涓�key, 濡傛灉key涓虹┖浼氳嚜鍔ㄥ垎閰嶄竴涓猭ey锛屽鏋渒ey涓嶄細绌轰細妫�鏌ユ槸鍚︽湁閲嶅缁戝畾鐨勬儏鍐�, 鐒跺悗缁戝畾key. + * @ queue_size 闃熷垪澶у皬 + * @ ele_size 闃熷垪涓厓绱犲ぇ灏� */ -void* shmqueue_init(int key, int queue_size, int ele_size); +void* shmqueue_create( int * key, int queue_size); + +/** + * 缁戝畾key鍒伴槦鍒楋紝浣嗘槸骞朵笉浼氬垱寤洪槦鍒椼�傚鏋滄病鏈夊搴旀寚瀹歬ey鐨勯槦鍒楁彁绀洪敊璇苟杩斿洖绌哄�� + */ +void* shmqueue_attach(int key); /** * 閿�姣� */ -void shmqueue_destroy(void *shmqueue); +void shmqueue_drop(void * _shmqueue) ; + /** * 闃熷垪鍏冪礌鐨勪釜鏁� */ -uint32_t shmqueue_size(void *shmqueue); +int shmqueue_size(void * _shmqueue); /** * 鏄惁宸叉弧 */ -int shmqueue_full(void *shmqueue); +int shmqueue_full(void * _shmqueue); /** * 鏄惁涓虹┖ */ -int shmqueue_empty(void *shmqueue); +int shmqueue_empty(void * _shmqueue) ; /** * 鍏ラ槦, 闃熷垪婊℃椂绛夊緟 */ -int shmqueue_push(void *shmqueue, void *src_ele); +int shmqueue_push(void * _shmqueue, void *src_ele, int ele_size); /** * 鍏ラ槦, 闃熷垪婊℃椂绔嬪嵆杩斿洖 */ -int shmqueue_push_nowait(void *shmqueue, void *src_ele); +int shmqueue_push_nowait(void * _shmqueue, void *src_ele, int ele_size) ; /** * 鍏ラ槦, 鎸囧畾鏃堕棿鍐呭叆闃熶笉鎴愬姛灏辫繑鍥� + * timespec {sec绉�, nsec绾崇} */ -int shmqueue_push_timeout(void *shmqueue, void *src_ele, struct timespec * timeout); +int shmqueue_push_timeout(void * _shmqueue, void *src_ele, int ele_size, void * _timeout); /** * 鍑洪槦, 闃熷垪绌烘椂绛夊緟 */ -int shmqueue_pop(void *shmqueue, void *dest_ele); +int shmqueue_pop(void * _shmqueue, void *dest_ele); /** * 鍑洪槦, 闃熷垪绌烘椂绔嬪嵆杩斿洖 */ -int shmqueue_pop_nowait(void *shmqueue, void *dest_ele); +int shmqueue_pop_nowait(void * _shmqueue, void *dest_ele) ; /** * 鍑洪槦, 鎸囧畾鏃堕棿鍐呭嚭闃熶笉鎴愬姛灏辫繑鍥� */ -int shmqueue_pop_timeout(void *shmqueue, void *dest_ele, struct timespec * timeout); - - +int shmqueue_pop_timeout(void * _shmqueue, void *dest_ele, void * _timeout); #ifdef __cplusplus } -- Gitblit v1.8.0