From 37989e0300c20cd65a4d4a3c49eeaea2122ddf9e Mon Sep 17 00:00:00 2001
From: wangzhengquan <wangzhengquan85@126.com>
Date: 星期一, 20 七月 2020 10:28:02 +0800
Subject: [PATCH] update

---
 test/test_queue.c |   98 +++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 91 insertions(+), 7 deletions(-)

diff --git a/test/test_queue.c b/test/test_queue.c
index fbc6e45..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;
@@ -19,13 +20,13 @@
 		}
 	}
 
-	for(i = 0; i < qsize; i++) {
+	// for(i = 0; i < qsize; i++) {
 		
-		//queue.dequeue(item);
+	// 	//queue.dequeue(item);
 		
-		item = (*queue)[i];
-		cout << "i=" << i << " item " << item.pic << "," << item.info << endl;
-	}
+	// 	item = (*queue)[i];
+	// 	cout << "i=" << i << " item " << item.pic << "," << item.info << endl;
+	// }
 
 
 	 
@@ -39,6 +40,89 @@
 	}
 
 	delete queue;
-	mm_destroy();
+}
 
+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