VERSION_MASK = 0xffff0000
VERSION_1 = 0x80010000
- def initialize(trans)
- super(trans)
- end
-
def write_message_begin(name, type, seqid)
write_i32(VERSION_1 | type)
write_string(name)
write_i16(id)
end
- def write_field_stop()
+ def write_field_stop
write_byte(Thrift::Types::STOP)
end
trans.write(str)
end
- def read_message_begin()
- version = read_i32()
+ def read_message_begin
+ version = read_i32
if (version & VERSION_MASK != VERSION_1)
raise ProtocolException.new(ProtocolException::BAD_VERSION, 'Missing version identifier')
end
type = version & 0x000000ff
- name = read_string()
- seqid = read_i32()
+ name = read_string
+ seqid = read_i32
return name, type, seqid
end
- def read_field_begin()
- type = read_byte()
+ def read_field_begin
+ type = read_byte
if (type === Types::STOP)
return nil, type, 0
end
- id = read_i16()
+ id = read_i16
return nil, type, id
end
- def read_map_begin()
- ktype = read_byte()
- vtype = read_byte()
- size = read_i32()
+ def read_map_begin
+ ktype = read_byte
+ vtype = read_byte
+ size = read_i32
return ktype, vtype, size
end
- def read_list_begin()
- etype = read_byte()
- size = read_i32()
+ def read_list_begin
+ etype = read_byte
+ size = read_i32
return etype, size
end
- def read_set_begin()
- etype = read_byte()
- size = read_i32()
+ def read_set_begin
+ etype = read_byte
+ size = read_i32
return etype, size
end
- def read_bool()
- byte = read_byte()
+ def read_bool
+ byte = read_byte
return byte != 0
end
- def read_byte()
+ def read_byte
dat = trans.read_all(1)
val = dat[0]
if (val > 0x7f)
return val
end
- def read_i16()
+ def read_i16
dat = trans.read_all(2)
val, = dat.unpack('n')
if (val > 0x7fff)
return val
end
- def read_i32()
+ def read_i32
dat = trans.read_all(4)
val, = dat.unpack('N')
if (val > 0x7fffffff)
return val
end
- def read_i64()
+ def read_i64
dat = trans.read_all(8)
hi, lo = dat.unpack('N2')
if (hi > 0x7fffffff)
end
end
- def read_double()
+ def read_double
dat = trans.read_all(8)
val, = dat.unpack('G')
return val
end
- def read_string()
- sz = read_i32()
+ def read_string
+ sz = read_i32
dat = trans.read_all(sz)
return dat
end