28#ifdef DEBUG_RPL_TRICKLE
57 memset(&pevent, 0,
sizeof pevent);
119 if (preferred_dodag_pdu != NULL)
140#ifdef DEBUG_RPL_TRICKLE
141 print_rpl_log(
"node '%d': trickle time is generated at t=%0.3lf, i=%0.2lf",
149 memset(&pevent, 0,
sizeof pevent);
PRPL_CTRL_MSG get_preferred_dodag_dio_pdu(NETSIM_ID d, bool *same, double time)
void join_dodag_iteration(NETSIM_ID d, PRPL_CTRL_MSG dio_pdu)
#define fnNetSimError(x,...)
void choose_parents_and_siblings(NETSIM_ID d)
void start_as_root(NETSIM_ID d)
bool rpl_node_is_joined(PRPL_NODE r)
bool rpl_node_is_root(PRPL_NODE r)
void print_rpl_log(char *format,...)
bool rpl_node_is_poisoning(PRPL_NODE r)
NetSim_PACKET * create_current_dio_message(NETSIM_ID ndevId, double time, bool include_dodag_config)
void rpl_node_send_msg(NETSIM_ID ndevid, NetSim_PACKET *packet)
#define RPL_DEFAULT_POISON_COUNT
EXPORTED double ldEventTime
#define DEVICE_TYPE(DeviceId)
int fnDeleteEvent(unsigned long long int nEventId)
EXPORTED struct stru_NetSim_EventDetails * pstruEventDetails
static void set_trickle_t_time(PRPL_NODE r)
void rpl_trickle_handle_t_timeout()
void rpl_trickle_handle_i_timeout()
void rpl_trickle_reset(NETSIM_ID ndevId)
#define fnpAddEvent(pstruEvent)
netsimDEVICE_TYPE nDeviceType
UINT8 dio_redundancy_constant
UINT8 dio_interval_doublings
unsigned long long int trickle_t_eventid
unsigned long long int trickle_i_eventid
double last_trickle_t_schedule_time
double last_trickle_i_schedule_time
UINT8 poison_count_so_far
struct stru_rpl_node::stru_trickle trickle
UINT8 dio_interval_doublings
UINT8 dio_redundancy_constant