native?()
click to toggle source
def native?
puts "wrong method is being called!"
false
end
read_bool()
click to toggle source
def read_bool
raise NotImplementedError
end
read_byte()
click to toggle source
def read_byte
raise NotImplementedError
end
read_double()
click to toggle source
def read_double
raise NotImplementedError
end
read_field_begin()
click to toggle source
def read_field_begin
raise NotImplementedError
end
read_field_end()
click to toggle source
def read_field_end; nil; end
read_i16()
click to toggle source
def read_i16
raise NotImplementedError
end
read_i32()
click to toggle source
def read_i32
raise NotImplementedError
end
read_i64()
click to toggle source
def read_i64
raise NotImplementedError
end
read_list_begin()
click to toggle source
def read_list_begin
raise NotImplementedError
end
read_list_end()
click to toggle source
def read_list_end; nil; end
read_map_begin()
click to toggle source
def read_map_begin
raise NotImplementedError
end
read_map_end()
click to toggle source
def read_map_end; nil; end
read_message_begin()
click to toggle source
def read_message_begin
raise NotImplementedError
end
read_message_end()
click to toggle source
def read_message_end; nil; end
read_set_begin()
click to toggle source
def read_set_begin
raise NotImplementedError
end
read_set_end()
click to toggle source
def read_set_end; nil; end
read_string()
click to toggle source
def read_string
raise NotImplementedError
end
read_struct_begin()
click to toggle source
def read_struct_begin
raise NotImplementedError
end
read_struct_end()
click to toggle source
def read_struct_end; nil; end
read_type(type)
click to toggle source
def read_type(type)
case type
when Types::BOOL
read_bool
when Types::BYTE
read_byte
when Types::DOUBLE
read_double
when Types::I16
read_i16
when Types::I32
read_i32
when Types::I64
read_i64
when Types::STRING
read_string
else
raise NotImplementedError
end
end
skip(type)
click to toggle source
def skip(type)
case type
when Types::STOP
nil
when Types::BOOL
read_bool
when Types::BYTE
read_byte
when Types::I16
read_i16
when Types::I32
read_i32
when Types::I64
read_i64
when Types::DOUBLE
read_double
when Types::STRING
read_string
when Types::STRUCT
read_struct_begin
while true
name, type, id = read_field_begin
break if type == Types::STOP
skip(type)
read_field_end
end
read_struct_end
when Types::MAP
ktype, vtype, size = read_map_begin
size.times do
skip(ktype)
skip(vtype)
end
read_map_end
when Types::SET
etype, size = read_set_begin
size.times do
skip(etype)
end
read_set_end
when Types::LIST
etype, size = read_list_begin
size.times do
skip(etype)
end
read_list_end
end
end
write_bool(bool)
click to toggle source
def write_bool(bool)
raise NotImplementedError
end
write_byte(byte)
click to toggle source
def write_byte(byte)
raise NotImplementedError
end
write_double(dub)
click to toggle source
def write_double(dub)
raise NotImplementedError
end
write_field(name, type, fid, value)
click to toggle source
def write_field(name, type, fid, value)
write_field_begin(name, type, fid)
write_type(type, value)
write_field_end
end
write_field_begin(name, type, id)
click to toggle source
def write_field_begin(name, type, id)
raise NotImplementedError
end
write_field_end()
click to toggle source
def write_field_end; nil; end
write_field_stop()
click to toggle source
def write_field_stop
raise NotImplementedError
end
write_i16(i16)
click to toggle source
def write_i16(i16)
raise NotImplementedError
end
write_i32(i32)
click to toggle source
def write_i32(i32)
raise NotImplementedError
end
write_i64(i64)
click to toggle source
def write_i64(i64)
raise NotImplementedError
end
write_list_begin(etype, size)
click to toggle source
def write_list_begin(etype, size)
raise NotImplementedError
end
write_list_end()
click to toggle source
def write_list_end; nil; end
write_map_begin(ktype, vtype, size)
click to toggle source
def write_map_begin(ktype, vtype, size)
raise NotImplementedError
end
write_map_end()
click to toggle source
def write_map_end; nil; end
write_message_begin(name, type, seqid)
click to toggle source
def write_message_begin(name, type, seqid)
raise NotImplementedError
end
write_message_end()
click to toggle source
def write_message_end; nil; end
write_set_begin(etype, size)
click to toggle source
def write_set_begin(etype, size)
raise NotImplementedError
end
write_set_end()
click to toggle source
def write_set_end; nil; end
write_string(str)
click to toggle source
def write_string(str)
raise NotImplementedError
end
write_struct_begin(name)
click to toggle source
def write_struct_begin(name)
raise NotImplementedError
end
write_struct_end()
click to toggle source
def write_struct_end; nil; end
write_type(type, value)
click to toggle source
def write_type(type, value)
case type
when Types::BOOL
write_bool(value)
when Types::BYTE
write_byte(value)
when Types::DOUBLE
write_double(value)
when Types::I16
write_i16(value)
when Types::I32
write_i32(value)
when Types::I64
write_i64(value)
when Types::STRING
write_string(value)
when Types::STRUCT
value.write(self)
else
raise NotImplementedError
end
end