All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Data Structures | Macros | Enumerations
Client Policies

Description

Policies define the behavior of database operations.

Policies fall into two groups: policy values and operation policies. A policy value is a single value which defines how the client behaves. An operation policy is a group of policy values which affect an operation.

Policy Values

The following are the policy values. For details, please see the documentation for each policy value

Operation Policies

The following are the operation policies. Operation policies are groups of policy values for a type of operation.

Data Structures

struct  as_policy_apply
 
struct  as_policy_batch
 
struct  as_policy_info
 
struct  as_policy_operate
 
struct  as_policy_query
 
struct  as_policy_read
 
struct  as_policy_remove
 
struct  as_policy_scan
 
struct  as_policy_write
 

Macros

#define AS_POLICY_EXISTS_DEFAULT   AS_POLICY_EXISTS_IGNORE
 
#define AS_POLICY_GEN_DEFAULT   AS_POLICY_GEN_IGNORE
 
#define AS_POLICY_KEY_DEFAULT   AS_POLICY_KEY_DIGEST
 
#define AS_POLICY_RETRY_DEFAULT   AS_POLICY_RETRY_NONE
 
#define AS_POLICY_TIMEOUT_DEFAULT   1000
 

Enumerations

enum  as_policy_exists {
  AS_POLICY_EXISTS_UNDEF, AS_POLICY_EXISTS_IGNORE, AS_POLICY_EXISTS_CREATE, AS_POLICY_EXISTS_UPDATE,
  AS_POLICY_EXISTS_REPLACE, AS_POLICY_EXISTS_CREATE_OR_REPLACE
}
 
enum  as_policy_gen {
  AS_POLICY_GEN_UNDEF, AS_POLICY_GEN_IGNORE, AS_POLICY_GEN_EQ, AS_POLICY_GEN_GT,
  AS_POLICY_GEN_DUP
}
 
enum  as_policy_key { AS_POLICY_KEY_UNDEF, AS_POLICY_KEY_DIGEST, AS_POLICY_KEY_SEND, AS_POLICY_KEY_STORE }
 
enum  as_policy_retry { AS_POLICY_RETRY_UNDEF, AS_POLICY_RETRY_NONE, AS_POLICY_RETRY_ONCE }
 

Macro Definition Documentation

#define AS_POLICY_EXISTS_DEFAULT   AS_POLICY_EXISTS_IGNORE

Default as_policy_exists value

Definition at line 100 of file as_policy.h.

#define AS_POLICY_GEN_DEFAULT   AS_POLICY_GEN_IGNORE

Default as_policy_gen value

Definition at line 86 of file as_policy.h.

#define AS_POLICY_KEY_DEFAULT   AS_POLICY_KEY_DIGEST

Default as_policy_key value

Definition at line 93 of file as_policy.h.

#define AS_POLICY_RETRY_DEFAULT   AS_POLICY_RETRY_NONE

Default as_policy_retry value

Definition at line 79 of file as_policy.h.

#define AS_POLICY_TIMEOUT_DEFAULT   1000

Default timeout value

Definition at line 72 of file as_policy.h.

Enumeration Type Documentation

Existence Policy.

Specifies the behavior for writing the record depending whether or not it exists.

Enumerator
AS_POLICY_EXISTS_UNDEF 

The policy is undefined.

If set, then the value will default to either as_config.policies.exists or AS_POLICY_EXISTS_DEFAULT.

AS_POLICY_EXISTS_IGNORE 

Write the record, regardless of existence. (i.e. create or update.)

AS_POLICY_EXISTS_CREATE 

Create a record, ONLY if it doesn't exist.

AS_POLICY_EXISTS_UPDATE 

Update a record, ONLY if it exists.

AS_POLICY_EXISTS_REPLACE 

Completely replace a record, ONLY if it exists.

AS_POLICY_EXISTS_CREATE_OR_REPLACE 

Completely replace a record if it exists, otherwise create it.

Definition at line 238 of file as_policy.h.

Generation Policy

Specifies the behavior of record modifications with regard to the generation value.

Enumerator
AS_POLICY_GEN_UNDEF 

The policy is undefined.

If set, then the value will default to either as_config.policies.gen or AS_POLICY_GEN_DEFAULT.

AS_POLICY_GEN_IGNORE 

Write a record, regardless of generation.

AS_POLICY_GEN_EQ 

Write a record, ONLY if generations are equal

AS_POLICY_GEN_GT 

Write a record, ONLY if local generation is greater-than remote generation

AS_POLICY_GEN_DUP 

Write a record creating a duplicate, ONLY if the generation collides (?)

Definition at line 145 of file as_policy.h.

Key Policy

Specifies the behavior for whether keys or digests should be sent to the cluster.

Enumerator
AS_POLICY_KEY_UNDEF 

The policy is undefined.

If set, then the value will default to either as_config.policies.key or AS_POLICY_KEY_DEFAULT.

AS_POLICY_KEY_DIGEST 

Send the digest value of the key.

This is the recommended mode of operation. This calculates the digest and send the digest to the server. The digest is only calculated on the client, and not on the server.

AS_POLICY_KEY_SEND 

Send the key, but do not store it.

This policy is ideal if you want to reduce the number of bytes sent over the network. This will only work if the combination the set and key value are less than 20 bytes, which is the size of the digest.

This will also cause the digest to be computer once on the client and once on the server.

If your values are not less than 20 bytes, then you should just use AS_POLICY_KEY_DIGEST.

AS_POLICY_KEY_STORE 

Store the key.

Warning
Not yet implemented

Definition at line 188 of file as_policy.h.

Retry Policy

Specifies the behavior of failed operations.

Enumerator
AS_POLICY_RETRY_UNDEF 

The policy is undefined.

If set, then the value will default to either as_config.policies.retry or AS_POLICY_RETRY_DEFAULT.

AS_POLICY_RETRY_NONE 

Only attempt an operation once.

AS_POLICY_RETRY_ONCE 

If an operation fails, attempt the operation one more time.

Definition at line 113 of file as_policy.h.