func (qr *QueryResult) UnmarshalBson(buf *bytes.Buffer) { bson.Next(buf, 4) kind := bson.NextByte(buf) for kind != bson.EOO { key := bson.ReadCString(buf) switch key { case "Fields": qr.Fields = decodeFieldsBson(buf, kind) case "RowsAffected": qr.RowsAffected = bson.DecodeUint64(buf, kind) case "InsertId": qr.InsertId = bson.DecodeUint64(buf, kind) case "Rows": qr.Rows = decodeRowsBson(buf, kind) default: panic(bson.NewBsonError("Unrecognized tag %s", key)) } kind = bson.NextByte(buf) } }
func (req *RequestBson) UnmarshalBson(buf *bytes.Buffer) { bson.Next(buf, 4) kind := bson.NextByte(buf) for kind != bson.EOO { key := bson.ReadCString(buf) switch key { case "ServiceMethod": req.ServiceMethod = bson.DecodeString(buf, kind) case "Seq": req.Seq = bson.DecodeUint64(buf, kind) default: panic(bson.NewBsonError("Unrecognized tag %s", key)) } kind = bson.NextByte(buf) } }