From 9e6ceaad059b2aec84df92c8750f6d87eab708c2 Mon Sep 17 00:00:00 2001
From: wangzhengquan <wangzhengquan85@126.com>
Date: 星期四, 16 七月 2020 20:46:31 +0800
Subject: [PATCH] udpate
---
test/test_queue.c | 94 ++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 89 insertions(+), 5 deletions(-)
diff --git a/test/test_queue.c b/test/test_queue.c
index f91d24f..3ae812a 100644
--- a/test/test_queue.c
+++ b/test/test_queue.c
@@ -1,7 +1,8 @@
#include "test.h"
+
using namespace std;
-int main () {
+void testStruct() {
unsigned int i = 0;
int key = 2;
@@ -9,8 +10,8 @@
struct Item item;
size_t qsize = 16;
- LockFreeQueue<struct Item> *queue = QueueFactory::createQueue<struct Item> (key, qsize);
-
+ //LockFreeQueue<struct Item> *queue = QueueFactory::createQueue<struct Item> (key, qsize);
+ SHMQueue<struct Item> *queue = new SHMQueue<struct Item>(key, 16);
// LockFreeQueue<struct Item> queue(16);
for(i = 0; i < qsize; i++) {
@@ -38,7 +39,90 @@
i++;
}
-
- destroy(key);
+ delete queue;
+}
+void testString() {
+ unsigned int i = 0;
+ std::ostringstream outstr;
+ int key = 2;
+
+ shmstring item;
+
+ size_t qsize = 16;
+ //LockFreeQueue<struct Item> *queue = QueueFactory::createQueue<struct Item> (key, qsize);
+ SHMQueue<shmstring> *queue = new SHMQueue<shmstring>(key, 16);
+ // LockFreeQueue<struct Item> queue(16);
+ for(i = 0; i < qsize; i++) {
+ outstr.seekp(0);
+ outstr << "hello " << i ;
+ if(queue->push(outstr.str().c_str())) {
+ cout << i << " push锛�" << outstr.str() << endl;
+ }
+ }
+
+ // for(i = 0; i < qsize; i++) {
+
+ // //queue.dequeue(item);
+
+ // item = (*queue)[i];
+ // cout << "i=" << i << ":" << item << endl;
+ // }
+
+
+
+ struct timespec timeout = {1, 0};
+
+ i = 0;
+ while((queue->pop_timeout(item, &timeout)) ) {
+ cout << i << " pop锛�" << item << endl;
+ // cout << item.pic << endl;
+ i++;
+ }
+
+ delete queue;
+}
+
+
+// void testArr(unsigned size) {
+// unsigned int i = 0;
+// int key = 2;
+
+// char item[size];
+
+// size_t qsize = 16;
+// //LockFreeQueue<struct Item> *queue = QueueFactory::createQueue<struct Item> (key, qsize);
+// SHMQueue<char[size]> *queue = new SHMQueue<char[size]>(key, 16);
+// // LockFreeQueue<struct Item> queue(16);
+// for(i = 0; i < qsize; i++) {
+// sprintf(item, "%d hello", i);
+// if(queue->push(item)) {
+// cout << i << " push锛�" << item << endl;
+// }
+// }
+
+
+
+
+
+// struct timespec timeout = {1, 0};
+
+// i = 0;
+// while((queue->pop_timeout(item, &timeout)) ) {
+// cout << i << " pop锛�" << item << endl;
+// // cout << item.pic << endl;
+// i++;
+// }
+
+// delete queue;
+// }
+
+
+int main () {
+ mm_init(512);
+ // testArr(12);
+ testStruct();
+
+ mm_destroy();
+ return 0;
}
\ No newline at end of file
--
Gitblit v1.8.0