class Cassandra::Protocol::V1::Encoder
Constants
- HEADER_FORMAT
Public Class Methods
new(compressor = nil, protocol_version = 1)
click to toggle source
# File lib/cassandra/protocol/v1.rb 26 def initialize(compressor = nil, protocol_version = 1) 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/v1.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 buffer 44 end
write_parameters(buffer, params, types, names = EMPTY_LIST)
click to toggle source
# File lib/cassandra/protocol/v1.rb 46 def write_parameters(buffer, params, types, names = EMPTY_LIST) 47 Coder.write_values_v1(buffer, params, types) 48 end