Own fork of MbedSmartRestMain

Dependencies:   C027_Support C12832 LM75B MMA7660 MbedSmartRest mbed-rtos mbed

Fork of MbedSmartRestMain by Cumulocity Official

Committer:
xinlei
Date:
Wed Apr 22 11:22:25 2015 +0000
Revision:
94:010b0f7a0a1a
Parent:
93:61d44636f020
Child:
98:e369fc75c000
v2.1rc2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
xinlei 93:61d44636f020 1 #include "ReportThread.h"
xinlei 93:61d44636f020 2 #include "logging.h"
xinlei 93:61d44636f020 3
xinlei 94:010b0f7a0a1a 4 const char *fmt2 = "111,%ld,%s\r\n";
xinlei 93:61d44636f020 5
xinlei 93:61d44636f020 6 void ReportThread::threadFunc()
xinlei 93:61d44636f020 7 {
xinlei 93:61d44636f020 8 while (true) {
xinlei 93:61d44636f020 9 osEvent e = ipool.get();
xinlei 93:61d44636f020 10 if (e.status == osEventMail) {
xinlei 93:61d44636f020 11 Operation *op = (Operation*)e.value.p;
xinlei 93:61d44636f020 12 long id = op->identifier;
xinlei 93:61d44636f020 13 OperationState state = op->state;
xinlei 93:61d44636f020 14 ipool.free(op);
xinlei 93:61d44636f020 15 int l = snprintf(buf2, sizeof(buf2), fmt2, id, strOperationState(state));
xinlei 94:010b0f7a0a1a 16 for (unsigned short i = 0; i < 10; ++i) {
xinlei 94:010b0f7a0a1a 17 osEvent e = ipool.get(200);
xinlei 94:010b0f7a0a1a 18 if (e.status == osEventMail) {
xinlei 94:010b0f7a0a1a 19 op = (Operation*)e.value.p;
xinlei 94:010b0f7a0a1a 20 id = op->identifier;
xinlei 94:010b0f7a0a1a 21 OperationState state = op->state;
xinlei 94:010b0f7a0a1a 22 ipool.free(op);
xinlei 94:010b0f7a0a1a 23 l += snprintf(buf2+l, SMARRESTBODY_SIZE-l, fmt2, id, strOperationState(state));
xinlei 94:010b0f7a0a1a 24 } else {
xinlei 94:010b0f7a0a1a 25 break;
xinlei 94:010b0f7a0a1a 26 }
xinlei 94:010b0f7a0a1a 27 }
xinlei 93:61d44636f020 28 l = snprintf(buf, sizeof(buf), getSmartRestFmt(), uri, l, buf2);
xinlei 93:61d44636f020 29 l = sock.sendOnly(buf, l);
xinlei 93:61d44636f020 30 if (l < 0) {
xinlei 94:010b0f7a0a1a 31 aError("Report: <%ld, %s>\n", id, strOperationState(state));
xinlei 93:61d44636f020 32 }
xinlei 93:61d44636f020 33 }
xinlei 93:61d44636f020 34 }
xinlei 93:61d44636f020 35 }