Обработка асинхронных обновлений переменных
Некоторые коммуникационные протоколы позволяют устройствам асинхронно информировать сервер об обновлениях значений переменных. Это часто происходит в двух случаях:
- Если коммуникационный протокол оптимизирован с целью избежания опроса через низкоскоростыне, ненадежные соединения с плохой пропускной способностью
- Если устройство работает с операционной системой реального времени и коммуникационный протокол позволяет ему отправлять обновления значений с определенной скоростью
Если драйвер был разработан с целью получения асинхронных обновлений значений, он должен выполнить следующие действия при получении такого обновления:
- Создать новую
DataTable
, представляющую значение переменной, и заполнить ее данными - Вызвать
DeviceContext.asyncVariableUpdate(String variable, DataTable value)
SberMobile Server обработает новое значение, сохранит его в истории и доставит с целью обновления слушателей, как только будет вызвана asyncVariableUpdate()
.