| 143 | type partialExecuteCodec struct{} |
| 144 | |
| 145 | func (c *partialExecuteCodec) Encode(msg message.Message, dest io.Writer, version primitive.ProtocolVersion) error { |
| 146 | switch execute := msg.(type) { |
| 147 | case *PartialExecute: |
| 148 | if err := primitive.WriteShortBytes(execute.QueryId, dest); err != nil { |
| 149 | return fmt.Errorf("cannot write EXECUTE query string: %w", err) |
| 150 | } |
| 151 | if version >= primitive.ProtocolVersion5 { |
| 152 | if err := primitive.WriteShortBytes(execute.ResultMetadataId, dest); err != nil { |
| 153 | return fmt.Errorf("cannot write EXECUTE consistency level: %w", err) |
| 154 | } |
| 155 | } |
| 156 | if err := primitive.WriteShort(uint16(execute.Consistency), dest); err != nil { |
| 157 | return fmt.Errorf("cannot write EXECUTE consistency level: %w", err) |
| 158 | } |
| 159 | if _, err := dest.Write(execute.Parameters); err != nil { |
| 160 | return fmt.Errorf("cannot write EXECUTE parameters: %w", err) |
| 161 | } |
| 162 | return nil |
| 163 | default: |
| 164 | return builtinExecuteCodec.Encode(msg, dest, version) |
| 165 | } |
| 166 | } |
| 167 | |
| 168 | func (c *partialExecuteCodec) EncodedLength(msg message.Message, version primitive.ProtocolVersion) (size int, err error) { |
| 169 | switch execute := msg.(type) { |