tibasSpace_CompareAndPutEx()

Compares the values in a specified tuple with existing data. If the old value is unmodified, replaces the existing tuple with the specified value. Allows you to set lock and lock wait attributes for the tuple.

Declaration

tibas_status tibasSpace_CompareAndPutEx(
    tibasSpace space,
    tibasTuple* value,
    tibasTuple oldValue,
    tibasTuple newValue,
    tibasPutOptions options)

Parameters

Parameter Description
space The TIBCO ActiveSpaces entity on which the function is invoked.
value Returns the value of the tuple that is located
oldValue Specifies the value to look for. If you code NULL for this argument, an empty tuple is replaced.
newValue Specifies the new value.
options Provide a tibasPutOptions structure that specifies the options for the put.

Remarks

Use the tibasSpace_CompareAndPutEx() function to compare the value in a specified tuple with the value in the data store, and if the value is unmodified, replace the existing tuple with the specified value.

tibasSpace_CompareAndPutEx() also allows you to specify additional options for the operation, by passing a tibasPutOptions structure in the options parameter. The tibasPutOptions structure is defined as follows:

struct _tibasPutOptions {
    tibas_long    entryTTL;
    tibas_long    lockWait;
    tibas_boolean lock;
    tibas_boolean unlock;
    tibas_boolean forget;
};

The put options are defined as follows:

entryTTL
Allows you to define the entry TTL for the tuple that is being put.
lockWait
Specifies a lock wait time, in milliseconds.
lock
Put the data and lock the tuple.
unlock
Unlock the tuple. Only the thread or process that locked the tuple can unlock it.

Lock and unlock are mutually exclusive. If you use one of these, code NULL for the other.

forget
Specify this option if you want the system to forget the return. This is useful if you do not need the tuple.