Class: Aerospike::ReadHeaderCommand
- Inherits:
-
SingleCommand
- Object
- Command
- SingleCommand
- Aerospike::ReadHeaderCommand
- Defined in:
- lib/aerospike/command/read_header_command.rb
Overview
:nodoc:
Instance Attribute Summary collapse
-
#record ⇒ Object
readonly
Returns the value of attribute record.
Instance Method Summary collapse
- #get_node ⇒ Object
-
#initialize(cluster, policy, key) ⇒ ReadHeaderCommand
constructor
A new instance of ReadHeaderCommand.
- #parse_result ⇒ Object
- #write_buffer ⇒ Object
Methods inherited from Command
#execute, #set_delete, #set_exists, #set_operate, #set_query, #set_read, #set_read_for_key_only, #set_read_header, #set_scan, #set_touch, #set_udf, #set_write, #write_bins
Constructor Details
#initialize(cluster, policy, key) ⇒ ReadHeaderCommand
Returns a new instance of ReadHeaderCommand.
28 29 30 31 32 33 34 |
# File 'lib/aerospike/command/read_header_command.rb', line 28 def initialize(cluster, policy, key) super(cluster, key) @policy = policy self end |
Instance Attribute Details
#record ⇒ Object (readonly)
Returns the value of attribute record.
26 27 28 |
# File 'lib/aerospike/command/read_header_command.rb', line 26 def record @record end |
Instance Method Details
#get_node ⇒ Object
36 37 38 |
# File 'lib/aerospike/command/read_header_command.rb', line 36 def get_node @cluster.read_node(@partition, @policy.replica, @sequence) end |
#parse_result ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/aerospike/command/read_header_command.rb', line 44 def parse_result # Read header. @conn.read(@data_buffer, MSG_TOTAL_HEADER_SIZE) result_code = @data_buffer.read(13).ord & 0xFF if result_code == 0 generation = @data_buffer.read_int32(14) expiration = @data_buffer.read_int32(18) @record = Record.new(@node, @key, nil, generation, expiration) return end if result_code == Aerospike::ResultCode::KEY_NOT_FOUND_ERROR @record = nil return end if result_code == Aerospike::ResultCode::FILTERED_OUT @record = nil if @policy.fail_on_filtered_out raise Aerospike::Exceptions::Aerospike.new(result_code, nil, [@node]) end return end raise Aerospike::Exceptions::Aerospike.new(result_code, nil, [@node]) end |
#write_buffer ⇒ Object
40 41 42 |
# File 'lib/aerospike/command/read_header_command.rb', line 40 def write_buffer set_read_header(@policy, @key) end |