прочих запросов на удаленные девайсы? Координатор кидает пакет в эфир и будь что будет, или там есть какая-то очередь/буффер, который освобождается по таймаутам или когда пакет доставлен? Не могу найти инфы по этому поводу.
там в пакете есть признак, по которому ожидается ответ от устройства, что оно получило команду. т.е. устройство должно ответить. в большинстве пакетов этот признак устанавливается. это не особенность z-stack, а особенность host-приложения, которое шлет команды, оно же выставляет таймаут ответа от устройства и само ждет. и само же делает очередь команд. и вот эти host-приложения каждый пишет как хочет :)
не совсем так, там же есть синхронные и асинхронные запросы, при отправке скажем запроса LQI я кидаю координатору пакет и он ТУТ ЖЕ отвечает типа ок, я тебя понял, дальше магия происходит уже внутри координатора
ты с хост-приложения кидаешь в стик команду, а не в сеть. есть же команды управления координатором (они разные для разных стеков). а дальше уже координатор исполняет команду в своей сети.
именно так, и когда я эту команду кидаю я всегда жду ответа, что координатор ее принял, тут все четко, вопрос в том, что происходит внутри координатора и можно ли его зафлудить
общение хост-приложения и координатора - это протокол znp (для z-stack), и он описан в доках. а вот что внутри координатора происходит - читай исходники прошивки. если надо, сниффай трафик сети и будет видно что он шлет дальше.
ты короче не уловил суть изначального вопроса)))) я про то и спросил - как реализована буферизация исходящих запрсов в znp, наверняка кто-то знает)
:) не знаю про буферизацию внутри стика, знаю что с хоста на стик в одну очередь выстраиваются запросы
тут у меня все четко, у меня однопоточное приложение, сперва отправляется запрос, потом поток ждет пока во входящем буфере порта появятся данные, потом ждет еще 10мс и потом начинает разгребать ответ
Обсуждают сегодня