почему не реализация lua буфера протокола google? есть ли какое-нибудь лучшее решение для lua?
Я работаю над этим, как мы говорим: https://github.com/haberman/upb/wiki
Кроме того, я парень, который написал 100-строчный парсер выше. Но моя библиотека upb гораздо более полнофункциональна.
Я только что создал Lua реализацию буферов протокола lua-pb . Он динамически загружает / анализирует .proto файлы для создания объектов сообщений, поэтому нет никакой зависимости от стандартного компилятора .proto от Google.
Используется LPeg для анализа файлов .proto и struct & Lua BitOp для кодирования / декодирования.
Возможно, потому что реализация на C или C ++ будет быстрее (и проще для написания), и тогда вы сможете передать данные Lua для использования, если хотите.
Здесь есть анализатор буфера протокола C на 100 строк: http://blog.reverberate.org/2008/07/12/100-lines-of-c-that-can-parse-any-protocol-buffer/
Или вы можете просто использовать Google C ++, а затем передать ваши данные Lua оттуда.
Lua не создан для битовой обработки, поэтому, возможно, именно поэтому никто еще не внедрил в него буферы протокола. В него даже не встроены побитовые операторы: http://lua -users.org / wiki / BitwiseOperators