void ohlone_sendpkt() { uint8_t buffer[TCP_DEFAULT_WINDOW_SIZE]; uint8_t buffer_len; buffer_len = ohlone_webpage(ohlone_vars.getRequest, ohlone_vars.httpChunk++, buffer); if (buffer_len == 0) { // No more to send // close TCP session, but keep listening ohlone_vars.getRequest[0] = '/'; ohlone_vars.getRequest[1] = ' '; opentcp_close(); return; } ohlone_vars.pkt = openqueue_getFreePacketBuffer(COMPONENT_OHLONE); if (ohlone_vars.pkt==NULL) { openserial_printError(COMPONENT_OHLONE,ERR_NO_FREE_PACKET_BUFFER, (errorparameter_t)0, (errorparameter_t)0); opentcp_close(); return; } ohlone_vars.pkt->creator = COMPONENT_OHLONE; ohlone_vars.pkt->owner = COMPONENT_OHLONE; packetfunctions_reserveHeaderSize(ohlone_vars.pkt, buffer_len); memcpy(ohlone_vars.pkt->payload, buffer, buffer_len); if ((opentcp_send(ohlone_vars.pkt))==E_FAIL) { openqueue_freePacketBuffer(ohlone_vars.pkt); opentcp_close(); } }
void tcpinject_sendDone(OpenQueueEntry_t* msg, error_t error) { msg->owner = COMPONENT_TCPINJECT; if (msg->creator!=COMPONENT_TCPINJECT) { openserial_printError(COMPONENT_TCPINJECT,ERR_UNEXPECTED_SENDDONE, (errorparameter_t)0, (errorparameter_t)0); } opentcp_close(); openqueue_freePacketBuffer(msg); }
void techo_sendDone(OpenMote* self, OpenQueueEntry_t* msg, owerror_t error) { msg->owner = COMPONENT_TECHO; if (msg->creator!=COMPONENT_TECHO) { openserial_printError(self, COMPONENT_TECHO,ERR_UNEXPECTED_SENDDONE, (errorparameter_t)0, (errorparameter_t)0); } //close TCP session, but keep listening opentcp_close(self); openqueue_freePacketBuffer(self, msg); }
void tcpprint_receive(OpenQueueEntry_t* msg) { openserial_printData((uint8_t*)(msg->payload),msg->length); //close TCP session, but keep listening opentcp_close(); openqueue_freePacketBuffer(msg); }