perché non un'implementazione lua di buffer di protocollo di Google? c'è già una soluzione migliore esiste per lua?
-
21-09-2019 - |
Domanda
perché non un'implementazione lua di buffer di protocollo di Google? c'è già una soluzione migliore esistono per lua?
Soluzione
sto lavorando su di esso, mentre parliamo: https://github.com/haberman/upb/wiki
Inoltre, io sono il tipo che ha scritto il parser 100-linea di cui sopra. Ma la mia biblioteca UPB è molto più completo.
Altri suggerimenti
Ho appena creato un'implementazione Lua di buffer di protocollo lua-pb . Si carica dinamicamente / parser Proto file per creare oggetti messaggio, quindi non c'è alcuna dipendenza dal compilatore standard di Proto da parte di Google.
Si utilizza LPeg per analizzare file Proto e struct & Lua BitOp per la codifica / decodifica.
Probabilmente perché un'implementazione C o C ++ sarebbe più veloce (e più facile da scrivere), e quindi si potrebbe consegnare i dati fuori per Lua da utilizzare se si vuole.
C'è una linea C 100 del buffer protocollo parser qui: http://blog.reverberate.org/2008/07/12/100-lines-of-c-that-can-parse-any-protocol-buffer/
In alternativa si potrebbe utilizzare Google C ++, e poi consegnare i vostri dati fuori a Lua da lì.
Lua non è costruito per po giocherellando, quindi forse è per questo che nessuno ha ancora attuato i buffer di protocollo in esso. Essa non ha nemmeno operatori bit a bit costruito in: http://lua-users.org/wiki/BitwiseOperators