Search:

As defined in xcapi.h

xerr xcRequestItems(xhandle object,
XC_SLOT_CONTEXT *contexts,
xuint32 context_count,
xuint32 *slot);

Description:

Adds the item(s) to the object's current list of content items and enables the flow of notification events for the item(s). The targeted slot(s) must be EMPTY. Note that the XC_SLOT_CONTEXT includes an XC_KEY. If the symbol portion of that key is a "long symbol" ( > 20 characters), the Exegy internal binary representation of the key must be used. To simplify requests for items with a long symbol, use xcRequestItemByString(). That call does not require an XC_KEY, so data items with a long symbol can be requested as a normal (ASCII) Exegy key. (No lookup of the Exegy internal binary representation of the key is necessary.)

Note that the xcRequestItems() call returns an XSUCCESS status if any item is properly requested (meaning that all the parameters for the request were well formed, the targeted slot or slots were empty, and the connection to the appliance was active). The event notification mechanism is subsequently invoked, and an EventSubscribe object is created for each requested item. Querying the EventSubscribe object(s) then reveals the status of the individual item requests (i.e., whether a data item was returned for each).

In general, calls to xcRequestItems() are non-blocking. However, when the number of outstanding requests per application exceeds the permitted limit of 500, subsequent calls to the function will be blocked until the number of outstanding requests again falls below 500. Note that a call to xcRequestItems() can be for more than the permitted limit (e.g., it is permissible to request 1000 items in one call, but the call will then block until only 499 requests are outstanding).

Restrictions:

Parameters:

Returns:

An xerr type indicating the status of the operation.

Common error codes:

XSUCCESS At least one item was successfully requested. (See "Checking the status of individual item requests", below, for more information.)
XINVAL An invalid parameter was supplied.
XBADSLOT Invalid slot number.
XNOTCONNECTED Session not connected.
XTHREAD Invalid field.
XBUSY At least one slot in given range already has an existing item.
XSOCKET Socket error when sending request. Connection in an invalid state.
XBADHANDLE Invalid handle.



[ Top Of Page ]