Added support for multiple objective functions.
Extended the objective function API with a callback function that receives link-layer neighbor information. Throttled DAO transmissions to one per DEFAULT_DAO_LATENCY period. Added support for an ETX objective function (hysteresis control still lacking though). Fixed a leak of routes installed by DAOs. Control that dst_adv_supported is set before sending DAOs. Improved debugging output.
This commit is contained in:
parent
f6e0b46f38
commit
f135105567
8 changed files with 172 additions and 32 deletions
|
@ -32,7 +32,7 @@
|
|||
*
|
||||
* This file is part of the Contiki operating system.
|
||||
*
|
||||
* $Id: rpl-timers.c,v 1.6 2010/05/25 21:58:54 nvt-se Exp $
|
||||
* $Id: rpl-timers.c,v 1.7 2010/05/29 22:23:21 nvt-se Exp $
|
||||
*/
|
||||
/**
|
||||
* \file
|
||||
|
@ -210,14 +210,13 @@ rpl_schedule_dao(rpl_dag_t *dag)
|
|||
|
||||
expiration_time = etimer_expiration_time(&dag->dao_timer.etimer);
|
||||
|
||||
if(!etimer_expired(&dag->dao_timer.etimer) &&
|
||||
(expiration_time - clock_time()) < (DEFAULT_DAO_LATENCY / dag->rank)) {
|
||||
if(!etimer_expired(&dag->dao_timer.etimer)) {
|
||||
PRINTF("RPL: DAO timer already scheduled\n");
|
||||
} else {
|
||||
PRINTF("RPL: Scheduling DAO timer %u ticks in the future (%u %u)\n",
|
||||
(unsigned)DEFAULT_DAO_LATENCY / dag->rank,
|
||||
(unsigned)DEFAULT_DAO_LATENCY, (unsigned)dag->rank);
|
||||
ctimer_set(&dag->dao_timer, DEFAULT_DAO_LATENCY / dag->rank,
|
||||
ctimer_set(&dag->dao_timer, DEFAULT_DAO_LATENCY,
|
||||
handle_dao_timer, dag);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue