/// <summary> /// Asynchronously read record header and bins for specified key. /// Create listener, call asynchronous get and return task monitor. /// <para> /// The policy can be used to specify timeouts. /// </para> /// </summary> /// <param name="policy">generic configuration parameters, pass in null for defaults</param> /// <param name="token">cancellation token</param> /// <param name="key">unique record identifier</param> /// <param name="binNames">bins to retrieve</param> /// <exception cref="AerospikeException">if queue is full</exception> public Task<Record> Get(Policy policy, CancellationToken token, Key key, params string[] binNames) { RecordListenerAdapter listener = new RecordListenerAdapter(token); Get(policy, listener, key, binNames); return listener.Task; }
/// <summary> /// Asynchronously read record generation and expiration only for specified key. Bins are not read. /// Create listener, call asynchronous get header and return task monitor. /// <para> /// The policy can be used to specify timeouts. /// </para> /// </summary> /// <param name="policy">generic configuration parameters, pass in null for defaults</param> /// <param name="token">cancellation token</param> /// <param name="key">unique record identifier</param> /// <exception cref="AerospikeException">if queue is full</exception> public Task<Record> GetHeader(Policy policy, CancellationToken token, Key key) { RecordListenerAdapter listener = new RecordListenerAdapter(token); GetHeader(policy, listener, key); return listener.Task; }
//------------------------------------------------------- // Generic Database Operations //------------------------------------------------------- /// <summary> /// Asynchronously perform multiple read/write operations on a single key in one batch call. /// Create listener, call asynchronous operate and return task monitor. /// <para> /// An example would be to add an integer value to an existing record and then /// read the result, all in one database call. /// </para> /// <para> /// Both scalar bin operations (Operation) and list bin operations (ListOperation) /// can be performed in same call. /// </para> /// </summary> /// <param name="policy">write configuration parameters, pass in null for defaults</param> /// <param name="token">cancellation token</param> /// <param name="key">unique record identifier</param> /// <param name="operations">database operations to perform</param> /// <exception cref="AerospikeException">if queue is full</exception> public Task<Record> Operate(WritePolicy policy, CancellationToken token, Key key, params Operation[] operations) { RecordListenerAdapter listener = new RecordListenerAdapter(token); Operate(policy, listener, key, operations); return listener.Task; }