diff --git a/core/net/rime/runicast.c b/core/net/rime/runicast.c index e03a881d1..946fef0e7 100644 --- a/core/net/rime/runicast.c +++ b/core/net/rime/runicast.c @@ -101,11 +101,12 @@ sent_by_stunicast(struct stunicast_conn *stunicast, int status, int num_tx) PRINTF("%d.%d: runicast: packet %d timed out\n", rimeaddr_node_addr.u8[0],rimeaddr_node_addr.u8[1], c->sndnxt); + c->sndnxt = (c->sndnxt + 1) % (1 << RUNICAST_PACKET_ID_BITS); } else { - int shift; +// int shift; - shift = c->rxmit > 4? 4: c->rxmit; - stunicast_set_timer(&c->c, (REXMIT_TIME) << shift); +// shift = c->rxmit > 4? 4: c->rxmit; +// stunicast_set_timer(&c->c, (REXMIT_TIME) << shift); } } } diff --git a/core/net/rime/stunicast.c b/core/net/rime/stunicast.c index 3309bfd64..554e81da0 100644 --- a/core/net/rime/stunicast.c +++ b/core/net/rime/stunicast.c @@ -113,9 +113,11 @@ send(void *ptr) PRINTF("%d.%d: stunicast: resend to %d.%d\n", rimeaddr_node_addr.u8[0],rimeaddr_node_addr.u8[1], c->receiver.u8[0], c->receiver.u8[1]); - queuebuf_to_packetbuf(c->buf); - unicast_send(&c->c, &c->receiver); - stunicast_set_timer(c, CLOCK_SECOND); + if(c->buf) { + queuebuf_to_packetbuf(c->buf); + unicast_send(&c->c, &c->receiver); + stunicast_set_timer(c, CLOCK_SECOND); + } /* if(c->u->sent != NULL) { c->u->sent(c); }*/