class Cassandra::Protocol::V3::Encoder
Constants
- HEADER_FORMAT
Public Class Methods
new(compressor = nil, protocol_version = 3)
click to toggle source
# File lib/cassandra/protocol/v3.rb 26 def initialize(compressor = nil, protocol_version = 3) 27 @compressor = compressor 28 @protocol_version = protocol_version 29 end
Public Instance Methods
encode(buffer, request, stream_id)
click to toggle source
# File lib/cassandra/protocol/v3.rb 31 def encode(buffer, request, stream_id) 32 flags = request.trace? ? 2 : 0 33 body = request.write(CqlByteBuffer.new, @protocol_version, self) 34 35 if @compressor && request.compressable? && @compressor.compress?(body) 36 flags |= 1 37 body = @compressor.compress(body) 38 end 39 40 header = [@protocol_version, flags, stream_id, request.opcode, body.bytesize] 41 buffer << header.pack(HEADER_FORMAT) 42 buffer << body 43 44 buffer 45 end
write_parameters(buffer, params, types, names = EMPTY_LIST)
click to toggle source
# File lib/cassandra/protocol/v3.rb 47 def write_parameters(buffer, params, types, names = EMPTY_LIST) 48 Coder.write_values_v3(buffer, params, types, names) 49 end