Ejemplo n.º 1
0
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();
   }

}
Ejemplo n.º 2
0
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);
}
Ejemplo n.º 3
0
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);
}
Ejemplo n.º 4
0
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);
}