Own fork of MbedSmartRestMain
Dependencies: C027_Support C12832 LM75B MMA7660 MbedSmartRest mbed-rtos mbed
Fork of MbedSmartRestMain by
operation/ReportThread.cpp
- Committer:
- xinlei
- Date:
- 2015-04-22
- Revision:
- 94:010b0f7a0a1a
- Parent:
- 93:61d44636f020
- Child:
- 98:e369fc75c000
File content as of revision 94:010b0f7a0a1a:
#include "ReportThread.h" #include "logging.h" const char *fmt2 = "111,%ld,%s\r\n"; void ReportThread::threadFunc() { while (true) { osEvent e = ipool.get(); if (e.status == osEventMail) { Operation *op = (Operation*)e.value.p; long id = op->identifier; OperationState state = op->state; ipool.free(op); int l = snprintf(buf2, sizeof(buf2), fmt2, id, strOperationState(state)); for (unsigned short i = 0; i < 10; ++i) { osEvent e = ipool.get(200); if (e.status == osEventMail) { op = (Operation*)e.value.p; id = op->identifier; OperationState state = op->state; ipool.free(op); l += snprintf(buf2+l, SMARRESTBODY_SIZE-l, fmt2, id, strOperationState(state)); } else { break; } } l = snprintf(buf, sizeof(buf), getSmartRestFmt(), uri, l, buf2); l = sock.sendOnly(buf, l); if (l < 0) { aError("Report: <%ld, %s>\n", id, strOperationState(state)); } } } }