in Sources/TwitterApacheThrift/ThriftBinary.swift [41:50]
func readStruct(index: Int?) throws -> ThriftStruct {
var fields: [Int: ThriftValue] = [:]
var nextField = try readFieldMetadata()
while nextField.type != .stop, let id = nextField.id {
let value = try readValue(index: id, type: nextField.type)
fields[id] = ThriftValue(index: id, type: nextField.type, data: value)
nextField = try readFieldMetadata()
}
return ThriftStruct(index: index, fields: fields)
}