Adding files to initialize, update, and read key-value (to be used together with...
authorrtrimana <rtrimana@uci.edu>
Mon, 16 Apr 2018 16:23:40 +0000 (09:23 -0700)
committerrtrimana <rtrimana@uci.edu>
Mon, 16 Apr 2018 16:23:40 +0000 (09:23 -0700)
version2/src/C/Init.C [new file with mode: 0644]
version2/src/C/Makefile
version2/src/C/Read.C [new file with mode: 0644]
version2/src/C/SlotBuffer.h
version2/src/C/Update.C [new file with mode: 0644]

diff --git a/version2/src/C/Init.C b/version2/src/C/Init.C
new file mode 100644 (file)
index 0000000..55cd2c6
--- /dev/null
@@ -0,0 +1,58 @@
+#include "Table.h"
+#include "IoTString.h"
+#include "TimingSingleton.h"
+#include "TransactionStatus.h"
+
+#define NUMBER_OF_SENSORS 1
+#define MACHINE_ID 260
+
+int main(int numargs, char ** args) {
+       TimingSingleton * timer = TimingSingleton_getInstance();
+
+       bool foundError = false;
+       Vector<TransactionStatus *> * transStatusList = new Vector<TransactionStatus *>();
+
+       // Setup the 2 clients
+       IoTString *baseurl = new IoTString("http://dc-6.calit2.uci.edu/test.iotcloud/");
+       IoTString * password = new IoTString("reallysecret");
+       Table * t1 = new Table(baseurl, password, MACHINE_ID, -1);
+       t1->initTable();
+       //t1->rebuild();
+       printf("T1 Ready\n");
+
+       baseurl->releaseRef();
+       password->releaseRef();
+
+       // Make the Keys
+       printf("Setting up keys\n");
+       for (int i = 0; i < NUMBER_OF_SENSORS; i++) {
+               printf("%d\n",i);
+               char buffer[80];
+               sprintf(buffer, "sensor%d", i);
+               IoTString *ia = new IoTString(buffer);
+               t1->createNewKey(ia, MACHINE_ID);
+               ia->releaseRef();
+       }
+
+       t1->update();
+       printf("Updating table\n");
+
+       for (uint i = 0; i < transStatusList->size(); i++) {
+               TransactionStatus * status = transStatusList->get(i);
+               if (status->getStatus() != TransactionStatus_StatusCommitted) {
+                       foundError = true;
+                       printf("Status error\n");
+               }
+               delete status;
+       }
+       
+       if (foundError) {
+               printf("Found Errors...\n");
+       } else {
+               printf("No Errors Found...\n");
+       }
+
+       delete transStatusList;
+       delete t1;
+}
+
index 199196e..5d4be5a 100644 (file)
@@ -29,6 +29,10 @@ directories: ${OBJ_DIR}
 
 test: bin/lib_iotcloud.so
        g++ -g -O3 Test.C -L./bin/ -l_iotcloud -lpthread -lbsd -o bin/Test
+       g++ -g -O3 Init.C -L./bin/ -l_iotcloud -lpthread -lbsd -o bin/init
+       g++ -g -O3 Update.C -L./bin/ -l_iotcloud -lpthread -lbsd -o bin/update
+       g++ -g -O3 Read.C -L./bin/ -l_iotcloud -lpthread -lbsd -o bin/read
+       sudo cp ./bin/*.so /usr/lib/
 
 ${OBJ_DIR}:
        ${MKDIR_P} ${OBJ_DIR}
diff --git a/version2/src/C/Read.C b/version2/src/C/Read.C
new file mode 100644 (file)
index 0000000..eff53aa
--- /dev/null
@@ -0,0 +1,62 @@
+#include "Table.h"
+#include "IoTString.h"
+#include "TimingSingleton.h"
+#include "TransactionStatus.h"
+
+#define NUMBER_OF_TESTS 1
+#define MACHINE_ID 371
+
+int main(int numargs, char ** args) {
+       TimingSingleton * timer = TimingSingleton_getInstance();
+
+       bool foundError = false;
+       Vector<TransactionStatus *> * transStatusList = new Vector<TransactionStatus *>();
+
+       // Setup the 2 clients
+       IoTString *baseurl = new IoTString("http://dc-6.calit2.uci.edu/test.iotcloud/");
+       IoTString * password = new IoTString("reallysecret");
+       Table * t1 = new Table(baseurl, password, MACHINE_ID, -1);
+       //t1->initTable();
+       t1->rebuild();
+       printf("T1 Ready\n");
+
+       baseurl->releaseRef();
+       password->releaseRef();
+
+       printf("Checking Key-Values...\n");
+       char buffer[80];
+       sprintf(buffer, "sensor0");
+       IoTString * iKeyA = new IoTString(buffer);
+       IoTString *testValA1 = t1->getCommitted(iKeyA);
+       
+       if (testValA1 == NULL) {
+               printf("\n\nKEY-VALUE A is NULL!\n\n");
+               foundError = true;
+       } else {
+               printf("Printing value... ");
+               testValA1->print();
+               printf("\n\n");
+       }
+
+       iKeyA->releaseRef();
+       testValA1->releaseRef();
+
+       for (uint i = 0; i < transStatusList->size(); i++) {
+               TransactionStatus * status = transStatusList->get(i);
+               if (status->getStatus() != TransactionStatus_StatusCommitted) {
+                       foundError = true;
+                       printf("Status error\n");
+               }
+               delete status;
+       }
+       
+       if (foundError) {
+               printf("Found Errors...\n");
+       } else {
+               printf("No Errors Found...\n");
+       }
+
+       delete transStatusList;
+       delete t1;
+}
+
index 0f6d625..6bb369d 100644 (file)
@@ -9,7 +9,7 @@
  * @version 1.0
  */
 
-#define SlotBuffer_DEFAULT_SIZE 32
+#define SlotBuffer_DEFAULT_SIZE 4
 
 class SlotBuffer {
 private:
diff --git a/version2/src/C/Update.C b/version2/src/C/Update.C
new file mode 100644 (file)
index 0000000..805cc8b
--- /dev/null
@@ -0,0 +1,58 @@
+#include "Table.h"
+#include "IoTString.h"
+#include "TimingSingleton.h"
+#include "TransactionStatus.h"
+
+#define NUMBER_OF_SENSORS 1
+#define MACHINE_ID 260
+
+int main(int numargs, char ** args) {
+       TimingSingleton * timer = TimingSingleton_getInstance();
+
+       bool foundError = false;
+       Vector<TransactionStatus *> * transStatusList = new Vector<TransactionStatus *>();
+
+       // Setup the 2 clients
+       IoTString * baseurl = new IoTString("http://dc-6.calit2.uci.edu/test.iotcloud/");
+       IoTString * password = new IoTString("reallysecret");
+       Table * t1 = new Table(baseurl, password, MACHINE_ID, -1);
+       t1->rebuild();
+       printf("T1 Ready\n");
+
+       baseurl->releaseRef();
+       password->releaseRef();
+
+       /*char keyBuffer[80];
+       char dataBuffer[80];
+
+       sprintf(keyBuffer, "sensor0");
+       IoTString * iKeyA = new IoTString(keyBuffer);
+       sprintf(dataBuffer, "data1");
+       IoTString * iValueA = new IoTString(dataBuffer);
+       t1->startTransaction();
+       t1->put(iKeyA, iValueA);
+       transStatusList->add(t1->commitTransaction());*/
+       t1->update();
+       
+       //iKeyA->releaseRef();
+       //iValueA->releaseRef();
+
+       for (uint i = 0; i < transStatusList->size(); i++) {
+               TransactionStatus * status = transStatusList->get(i);
+               if (status->getStatus() != TransactionStatus_StatusCommitted) {
+                       foundError = true;
+                       printf("Status error\n");
+               }
+               delete status;
+       }
+       
+       if (foundError) {
+               printf("Found Errors...\n");
+       } else {
+               printf("No Errors Found...\n");
+       }
+
+       delete transStatusList;
+       delete t1;
+}
+