Я пытаюсь реализовать многопользовательский протокол rpl, я использую Contiki 3.0.
Из файла rpl-dag.c есть статический rpl_parent_t * best_parent (rpl_dag_t *dag) функция, она отправляет двух соседей в static rpl_parent_t * best_parent (rpl_parent_t * p1, rpl_parent_t * p2) функция в mrhof.c файле, и эта функция возвращает лучшего соседабыть предпочтительным.
То, что я пытаюсь сделать, это получить другого соседа (не самого лучшего) и сравнить его со всеми другими соседями, чтобы я получил двух лучших соседей, но когда функция в mrhof.c верните одного предпочтительного родителя, которого я не знаю, кто этот сосед, как вы можете видеть в этой строке в файле rpl-dag.c :
best = dag-> instance-> of-> best_parent ( best , p );
Я имею в виду в этой строке функцию send лучший и p и получите лучший один из них, но я не могу знать, какой из них выбран как лучший, поэтому я могу взять другойи сравните его с другими соседями.
И если я попытаюсь отправить трех соседей для работы в mrhof.c , я должен вернуть два лучших, как это return best1, best2 но это, конечно, не работает.