Signals that the next requests should be accumulated and sent to Lightstreamer Server with a single connection.

The batch will continue to accomulate requests until a commit is requested. When the connetion is closed, any ongoing batch that has not been committed will be automatically aborted.
Note that subscription requests and message requests are batched separately: all subscriptions will be executed first, followed by messages.
Note also that batches cannot be nested: there is at most one and only batch ongoing for a given LSClient object.

Requests new constraints to be applied on the overall data flow from the current connection.

The new limits override the limits requested with the connection operation or the last call to this method (a constraint not set means an unlimited constraint and may override a previous limiting constraint). They can only be used in order to restrict the constraints set by Lightstreamer Server Metadata Adapter.
The method is blocking: it will return only after receiving the Server answer.

Requests new constraints to be applied on the data flow from the specified subscription.

The new limits override the limits requested with the subscription operation or the last call to this method.
The server may refuse to apply certain constraints under specific conditions, for example when changing the max frequency of an unfiltered subscription. In these cases an LSPushServerException will be raised.
The method is blocking: it will return only after receiving the Server answer.

The method is blocking: it will return only after receiving the Server answer.
WARNING: avoid calling this method from a connection event handler (like clientConnection:didReceiveConnectionFailure:). Since this method is blocking, this would block the internal connection engine and prevent the close event to be delivered, actually causing a deadlock. Call closeConnection in a background thread from this events.

- (NSArray *) commitBatch

Commits the current batch.

Pending requests will be sent to Lightstreamer Server in the order they have been accomulated in the batch, in two separate blocks: subscription/unsubscription requests will be sent first, followed by message requests. The outcome of each request will be accomulated in a list and returned: if the outcome is positive, an NSNull object will be added, else the appropriate exception will be added. The implementation guarantees an outcome for each request.
This method is blocking: it will return only after receiving the Server answer of all the requests.

The Server will initiate a push session for this client through a streaming connection. If a connection is open, it is closed first.
The method is blocking: it will return only after a connection has been established or the attempt has failed.

Parameters:

connectionInfo

Contains the Server address and the connection parameters. A copy of the object is stored internally.

The message is associated to the current session and is interpreted and managed by the Metadata Adapter related to the session.
The method is blocking if executed outside of a batch, else it is non-blocking: outside of a batch, it will return only after receiving the Server answer. Inside a batch, the method will return immediatly but the request will be processed only on batch commit.

The message is associated to the current session and is interpreted and managed by the Metadata Adapter related to the session.
Upon subsequent calls to the method, the sequential management of the messages is guaranteed. However, any message that, for any reason, doesn't reach the Server can be discarded by the Server if this causes the subsequent message to be kept waiting for longer than a configurable timeout. A shorter timeout can be associated with the subsequent message itself. A sequence identifier must also be associated with the messages; the sequential management is restricted to all subsets of messages with the same sequence identifier associated. In case the sequential management is undesired the special UNORDERED_MESSAGES sequence identifier can be used.
This method is always non-blocking: outside of a batch, it will return after submitting the message to the Server. Inside a batch, the method will return immediately. In both cases, the outcome of the message will be delivered asyncronously to the delegate.

Parameters:

messageInfo

The message string to be interpreted by the Metadata Adapter, the sequence this message has to be associated with and a delay timeout to be waited by the server for missing previous messages to be received before being declared lost. A copy of the object is stored internally.

delegate

Receives notification of the outcome of the message request.

Returns:

A number representing the progressive number of the message within its sequence is returned (starting from 1). Note that each time a new session is established the progressive number is reset.

Subscribes to a set of items, which share the same schema and other subscription parameters.

All item and field names are provided. This requires that a LiteralBasedProvider or equivalent Metadata Adapter is configured on the Server, in order to understand the request.
The items are not collected as one table, but they are subscribed each in a different table. However, the items are subscribed alltogether with a single connection to the Server. The items unsubscription can be made either in a single operation (through unsubscribeTables) or through independent unsubscribe operations.
Subscribed items are identified to the listener both by position and by by name. If the request fails, no subscriptions have been performed.
The method is blocking if executed outside of a batch, else it is non-blocking: outside of a batch, it will return only after receiving the Server answer. Inside a batch, the method will return immediately but the request will be processed only on batch commit.

Parameters:

tableInfo

Contains the specification and request parameters of the items to subscribe to. A copy of the object is stored internally.

delegate

Receives notification of data updates and subscription termination.

Returns:

An array of handles to the subscribed tables, one for each item. The order of the handles reflects the order of the items in the item set description. The handles are needed for unsubscription.

The table is specified by group name and schema name. Specific item and field names have to be determined by the Metadata Adapter, and are identified to the delegate only by positional information, as item and field names are not known.
The method is blocking if executed outside of a batch, else it is non-blocking: outside of a batch, it will return only after receiving the Server answer. Inside a batch, the method will return immediately but the request will be processed only on batch commit.

Parameters:

tableInfo

Contains the specification and request parameters of the items to subscribe to. A copy of the object is stored internally.

delegate

Receives notification of data updates and subscription termination.

commandLogic

If YES, enables the notification of item updates with "COMMAND logic", This requires that the items are subscribed to in COMMAND mode or behave equivalently; in particular, that the special "key" and "command" fields are included in the schema.

The table is specified by providing item and field names. This requires that a LiteralBasedProvider or equivalent Metadata Adapter is configured on the Server, in order to understand the request.
The method is blocking if executed outside of a batch, else it is non-blocking: outside of a batch, it will return only after receiving the Server answer. Inside a batch, the method will return immediately but the request will be processed only on batch commit.

Parameters:

tableInfo

Contains the specification and request parameters of the items to subscribe to. A copy of the object is stored internally.

delegate

Receives notification of data updates and subscription termination.

commandLogic

If YES, enables the notification of item updates with "COMMAND logic", This requires that the items are subscribed to in COMMAND mode or behave equivalently; in particular, that the special "key" and "command" fields are included in the schema.

The method is blocking if executed outside of a batch, else it is non-blocking: outside of a batch, it will return only after receiving the Server answer. Inside a batch, the method will return immediately but the request will be processed only on batch commit.

Thrown in case of any other problem (including if the client is not connected).

- (void) unsubscribeTables:

(NSArray *)

tableKeys

Unsubscribes from a set of tables previously subscribed to the Server.

The unsubscription requests are sent to the Server in a single connection.
The method is blocking if executed outside of a batch, else it is non-blocking: outside of a batch, it will return only after receiving the Server answer. Inside a batch, the method will return immediately but the request will be processed only on batch commit.

Parameters:

tableKeys

Array of handles to tables as returned by one or more subscribe calls.