MCPcopy Create free account
hub / github.com/datastax/cql-proxy / Encode

Method Encode

codecs/partial_codecs.go:145–166  ·  view source on GitHub ↗
(msg message.Message, dest io.Writer, version primitive.ProtocolVersion)

Source from the content-addressed store, hash-verified

143type partialExecuteCodec struct{}
144
145func (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
168func (c *partialExecuteCodec) EncodedLength(msg message.Message, version primitive.ProtocolVersion) (size int, err error) {
169 switch execute := msg.(type) {

Callers 1

Calls 2

WriteMethod · 0.80
EncodeMethod · 0.45

Tested by 1