ВходНаше всё Теги codebook PARTS Поиск Опросы Закон Среда
10 августа
1152575 Топик полностью
Argon (07.12.2021 20:38, просмотров: 167) ответил AlexBi на Пауза при передаче приведет к лагу, пауза при приеме приведет к потере принятого у приемника. Или должен быть какой-то механизм, останавливающий передатчик, пока приемник занят чем-то своим. Но такого не планируется, как я понимаю, поэтому потери неизбежны и к этому надо быть готовым.
Неа, пауза при приеме не должна привести к потере принятого у приемника (одноплатник с ОС Android), ибо если я верно понимаю, то данные таки примутся драйвером, который является частью ядра Linux. В то время как сборщик мусора работает в среде dalvik (аналог Java runtime) и тормозит мое приложение, которое и обрабатывает прием-передачу. 

Когда сборщик мусора прекратит работу, управление будет передено моему приложению и только тогда оно примет все данные, засосанные низкоуровневым драйвером.

Т.е. получается, мое приложение может принять часть данных, внезапно замереть и потом разморозившись дополучить остаток. Как будет обработан в этом случае вот этот лаг - не знаю. Хотелось бы не вникать, а сразу защититься от потенциальных проблем.

COBS наверняка бы помог(ло), но я не могу вникнуть что там происходит. На русском языке кроме википедии не особо источники есть.
Можно не заморачиваться, а применить что-то типа Wake протокола, там тоже байтстаффинг, но пока более понятный чем COBS.