| 66 | } |
| 67 | |
| 68 | func (c *partialQueryCodec) Decode(source io.Reader, _ primitive.ProtocolVersion) (msg message.Message, err error) { |
| 69 | var ( |
| 70 | query string |
| 71 | consistency uint16 |
| 72 | ) |
| 73 | |
| 74 | reader, err := toFrameBodyReader(source) |
| 75 | if err != nil { |
| 76 | return nil, err |
| 77 | } |
| 78 | |
| 79 | if query, err = primitive.ReadLongString(reader); err != nil { |
| 80 | return nil, err |
| 81 | } |
| 82 | |
| 83 | if consistency, err = primitive.ReadShort(reader); err != nil { |
| 84 | return nil, fmt.Errorf("cannot read QUERY consistency level: %w", err) |
| 85 | } |
| 86 | |
| 87 | return &PartialQuery{ |
| 88 | Query: query, |
| 89 | Consistency: primitive.ConsistencyLevel(consistency), |
| 90 | Parameters: reader.RemainingBytes(), |
| 91 | }, nil |
| 92 | } |
| 93 | |
| 94 | func (c *partialQueryCodec) GetOpCode() primitive.OpCode { |
| 95 | return primitive.OpCodeQuery |