Class: Aerospike::Policy
- Inherits:
-
Object
- Object
- Aerospike::Policy
- Defined in:
- lib/aerospike/policy/policy.rb
Overview
Container object for client policy command.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#consistency_level ⇒ Object
Returns the value of attribute consistency_level.
-
#fail_on_filtered_out ⇒ Object
Returns the value of attribute fail_on_filtered_out.
-
#max_retries ⇒ Object
Returns the value of attribute max_retries.
-
#predexp ⇒ Object
Returns the value of attribute predexp.
-
#priority ⇒ Object
Returns the value of attribute priority.
-
#sleep_between_retries ⇒ Object
Returns the value of attribute sleep_between_retries.
-
#timeout ⇒ Object
Returns the value of attribute timeout.
Instance Method Summary collapse
-
#initialize(opt = {}) ⇒ Policy
constructor
A new instance of Policy.
Constructor Details
#initialize(opt = {}) ⇒ Policy
Returns a new instance of Policy.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 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 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/aerospike/policy/policy.rb', line 28 def initialize(opt={}) # Container object for transaction policy attributes used in all database # operation calls. # Priority of request relative to other transactions. # Currently, only used for scans. @priority = opt[:priority] || Priority::DEFAULT # Set optional predicate expression filters in postfix notation. # Predicate expression filters are applied on the query results on the server. # Predicate expression filters may occur on any bin in the record. # Requires Aerospike Server versions >= 3.12 # # Postfix notation is described here: http://wiki.c2.com/?PostfixNotation # # Example: # # (c >= 11 and c <= 20) or (d > 3 and (d < 5) # policy.predexp = [ # PredExp.integer_bin("c"), # PredExp.integer_value(11), # PredExp.integer_greater_eq(), # PredExp.integer_bin("c"), # PredExp.integer_value(20), # PredExp.integer_less_eq(), # PredExp.and(2), # PredExp.integer_bin("d"), # PredExp.integer_value(3), # PredExp.integer_greater(), # PredExp.integer_bin("d"), # PredExp.integer_value(5), # PredExp.integer_less(), # PredExp.and(2), # PredExp.or(2) # ] # # # Record last update time > 2017-01-15 # policy.predexp = [ # PredExp.rec_last_update(), # PredExp.integer_value(Time.new(2017, 1, 15).to_i), # PredExp.integer_greater(), # PredExp.integer_greater() # ] @predexp = opt[:predexp] || nil # Throw exception if @predexp is defined and that filter evaluates # to false (transaction ignored). The Aerospike::Exceptions::Aerospike # will contain result code Aerospike::ResultCode::FILTERED_OUT. # This field is not applicable to batch, scan or query commands. @fail_on_filtered_out = opt[:fail_on_filtered_out] || false # How replicas should be consulted in a read operation to provide the desired # consistency guarantee. Default to allowing one replica to be used in the # read operation. @consistency_level = opt[:consistency_level] || Aerospike::ConsistencyLevel::CONSISTENCY_ONE # Transaction timeout. # This timeout is used to set the socket timeout and is also sent to the # server along with the transaction in the wire protocol. # Default to no timeout (0). @timeout = opt[:timeout] || 0 # Maximum number of retries before aborting the current transaction. # A retry is attempted when there is a network error other than timeout. # If max_retries is exceeded, the abort will occur even if the timeout # has not yet been exceeded. @max_retries = opt[:max_retries] || 2 # Duration to sleep between retries if a transaction fails and the # timeout was not exceeded. Enter zero to skip sleep. @sleep_between_retries = opt[:sleep_between_retries] || 0.5 end |
Instance Attribute Details
#consistency_level ⇒ Object
Returns the value of attribute consistency_level.
25 26 27 |
# File 'lib/aerospike/policy/policy.rb', line 25 def consistency_level @consistency_level end |
#fail_on_filtered_out ⇒ Object
Returns the value of attribute fail_on_filtered_out.
25 26 27 |
# File 'lib/aerospike/policy/policy.rb', line 25 def fail_on_filtered_out @fail_on_filtered_out end |
#max_retries ⇒ Object
Returns the value of attribute max_retries.
25 26 27 |
# File 'lib/aerospike/policy/policy.rb', line 25 def max_retries @max_retries end |
#predexp ⇒ Object
Returns the value of attribute predexp.
25 26 27 |
# File 'lib/aerospike/policy/policy.rb', line 25 def predexp @predexp end |
#priority ⇒ Object
Returns the value of attribute priority.
25 26 27 |
# File 'lib/aerospike/policy/policy.rb', line 25 def priority @priority end |
#sleep_between_retries ⇒ Object
Returns the value of attribute sleep_between_retries.
25 26 27 |
# File 'lib/aerospike/policy/policy.rb', line 25 def sleep_between_retries @sleep_between_retries end |
#timeout ⇒ Object
Returns the value of attribute timeout.
25 26 27 |
# File 'lib/aerospike/policy/policy.rb', line 25 def timeout @timeout end |