/*---------------------------------------------------------------------------*/ PROCESS_THREAD(rpl_root_process, ev, data) { static struct etimer et; PROCESS_BEGIN(); PRINTF("Multicast Engine: '%s'\n", UIP_MCAST6.name); NETSTACK_MAC.off(1); set_own_addresses(); prepare_mcast(); etimer_set(&et, START_DELAY * CLOCK_SECOND); while(1) { PROCESS_YIELD(); if(etimer_expired(&et)) { if(seq_id == ITERATIONS) { etimer_stop(&et); } else { multicast_send(); etimer_set(&et, SEND_INTERVAL); } } } PROCESS_END(); }
static void multicast_ack(char *to_host, int message_id) { char message[64]; snprintf(message, sizeof(message), "%s ack %d", to_host, message_id); multicast_send("", message); }