зеркало из https://github.com/github/bert.git
decode msgpack-based bert
This commit is contained in:
Родитель
b710534fa3
Коммит
c5268506d2
|
@ -12,6 +12,8 @@ module BERT
|
||||||
io.set_encoding('binary') if io.respond_to?(:set_encoding)
|
io.set_encoding('binary') if io.respond_to?(:set_encoding)
|
||||||
header = io.getbyte
|
header = io.getbyte
|
||||||
case header
|
case header
|
||||||
|
when VERSION_3
|
||||||
|
V3.new(io).read_any
|
||||||
when MAGIC, VERSION_2
|
when MAGIC, VERSION_2
|
||||||
new(io).read_any
|
new(io).read_any
|
||||||
else
|
else
|
||||||
|
@ -19,6 +21,16 @@ module BERT
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
class V3
|
||||||
|
def initialize(ins)
|
||||||
|
@unpacker = MessagePack::Unpacker.new(ins)
|
||||||
|
end
|
||||||
|
|
||||||
|
def read_any
|
||||||
|
@unpacker.read
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def initialize(ins)
|
def initialize(ins)
|
||||||
@in = ins
|
@in = ins
|
||||||
@peeked = ""
|
@peeked = ""
|
||||||
|
|
Загрузка…
Ссылка в новой задаче