mirror of
https://github.com/oliverschmidt/contiki.git
synced 2024-12-23 01:29:33 +00:00
Send immediately if interval == 0. Added debug information
This commit is contained in:
parent
f93a48599e
commit
cdfe030980
@ -33,7 +33,7 @@
|
|||||||
*
|
*
|
||||||
* This file is part of the Contiki operating system.
|
* This file is part of the Contiki operating system.
|
||||||
*
|
*
|
||||||
* $Id: ipolite.c,v 1.4 2008/01/07 14:53:04 adamdunkels Exp $
|
* $Id: ipolite.c,v 1.5 2008/01/24 21:10:50 adamdunkels Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -53,6 +53,14 @@
|
|||||||
#define MAX(a,b) ((a)>(b)?(a):(b))
|
#define MAX(a,b) ((a)>(b)?(a):(b))
|
||||||
#endif /* MAX */
|
#endif /* MAX */
|
||||||
|
|
||||||
|
#define DEBUG 0
|
||||||
|
#if DEBUG
|
||||||
|
#include <stdio.h>
|
||||||
|
#define PRINTF(...) printf(__VA_ARGS__)
|
||||||
|
#else
|
||||||
|
#define PRINTF(...)
|
||||||
|
#endif
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
static void
|
static void
|
||||||
recv(struct ibc_conn *ibc, rimeaddr_t *from)
|
recv(struct ibc_conn *ibc, rimeaddr_t *from)
|
||||||
@ -81,6 +89,10 @@ send(void *ptr)
|
|||||||
{
|
{
|
||||||
struct ipolite_conn *c = ptr;
|
struct ipolite_conn *c = ptr;
|
||||||
|
|
||||||
|
PRINTF("%d.%d: ipolite: send queuebuf %p\n",
|
||||||
|
rimeaddr_node_addr.u8[0],rimeaddr_node_addr.u8[1],
|
||||||
|
c->q);
|
||||||
|
|
||||||
if(c->q != NULL) {
|
if(c->q != NULL) {
|
||||||
queuebuf_to_rimebuf(c->q);
|
queuebuf_to_rimebuf(c->q);
|
||||||
queuebuf_free(c->q);
|
queuebuf_free(c->q);
|
||||||
@ -118,13 +130,17 @@ ipolite_send(struct ipolite_conn *c, clock_time_t interval, u8_t hdrsize)
|
|||||||
{
|
{
|
||||||
if(c->q != NULL) {
|
if(c->q != NULL) {
|
||||||
/* If we are already about to send a packet, we cancel the old one. */
|
/* If we are already about to send a packet, we cancel the old one. */
|
||||||
|
PRINTF("%d.%d: ipolite_send: cancel old send\n",
|
||||||
|
rimeaddr_node_addr.u8[0],rimeaddr_node_addr.u8[1]);
|
||||||
queuebuf_free(c->q);
|
queuebuf_free(c->q);
|
||||||
}
|
}
|
||||||
c->hdrsize = hdrsize;
|
c->hdrsize = hdrsize;
|
||||||
c->q = queuebuf_new_from_rimebuf();
|
c->q = queuebuf_new_from_rimebuf();
|
||||||
if(c->q != NULL) {
|
if(c->q != NULL) {
|
||||||
if(interval == 0) {
|
if(interval == 0) {
|
||||||
ctimer_set(&c->t, 0, send, c);
|
PRINTF("%d.%d: ipolite_send: interval 0\n",
|
||||||
|
rimeaddr_node_addr.u8[0],rimeaddr_node_addr.u8[1]);
|
||||||
|
send(c);
|
||||||
} else {
|
} else {
|
||||||
ctimer_set(&c->t,
|
ctimer_set(&c->t,
|
||||||
interval / 2 + (random_rand() % (interval / 2)),
|
interval / 2 + (random_rand() % (interval / 2)),
|
||||||
@ -132,6 +148,8 @@ ipolite_send(struct ipolite_conn *c, clock_time_t interval, u8_t hdrsize)
|
|||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
PRINTF("%d.%d: ipolite_send: could not allocate queue buffer\n",
|
||||||
|
rimeaddr_node_addr.u8[0],rimeaddr_node_addr.u8[1]);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
|
Loading…
Reference in New Issue
Block a user