Lightstreamer macOS Client  1.2.5
Native macOS Client library for Lightstreamer
Instance Methods | List of all members
<LSTableDelegate> Protocol Reference

The LSTableDelegate protocol receives notification of data updates and subscription termination for a table. More...

#import <LSTableDelegate.h>

Inheritance diagram for <LSTableDelegate>:

Instance Methods

(void) - table:itemPosition:itemName:didUpdateWithInfo:
 Notification of an update of the values for an item in the table. More...
 
(void) - table:didEndSnapshotForItemPosition:itemName:
 Notification that no more snapshot events are coming for an item. More...
 
(void) - table:itemPosition:itemName:didLoseRawUpdates:
 Notification of one or more updates that were suppressed in the Server because of internal memory limitations. More...
 
(void) - table:didUnsubscribeItemPosition:itemName:
 Notification of the unsubscription of an item in the table. More...
 
(void) - tableDidUnsubscribeAllItems:
 Notification of the unsubscription of all the items in the table. More...
 

Detailed Description

The LSTableDelegate protocol receives notification of data updates and subscription termination for a table.

Upon update of each item, the current and previous state of all fields is provided.
If the subscription configuration enables the "COMMAND logic", then the special "command" and "key" fields are determined and the updates are meant as ADD, UPDATE and DELETE commands on the rows of an underlying table, identified by a key value. In this case, the old field values related with an update are referred to the same key.
Both names and positional information are available to identify specific items and fields, unless an LSTableInfo was used to describe the table: in that case, only positional information is available.
Note: the delegate is called directly from the session thread. Method implementations should be fast and nonblocking. Any slow operations should be enqueued and performed asynchronously.

Method Documentation

- (void) table: (LSSubscribedTableKey *)  tableKey
didEndSnapshotForItemPosition: (int)  itemPosition
itemName: (NSString *)  itemName 
optional

Notification that no more snapshot events are coming for an item.

This notification is always received once, when the item is subscribed in LSModeDistinct or LSModeCommand and the snapshot is requested.
Note that previous to version 1.2.3 for iOS and 1.0.2 for macOS the library had a typo in the method signature, Snaphost instead of Snapshot:
- (void) table:(LSSubscribedTableKey *)tableKey didEndSnaphostForItemPosition:(int)itemPosition itemName:(NSString *)itemName
The signature is now correct, but a workaround is in place to call the old (incorrect) signature if the new (correct) one is not found on the delegate.
Note: this notification is called directly from the session thread. Method implementation should be fast and nonblocking. Any slow operations should be enqueued and performed asynchronously.

Parameters
tableKeyKey of the related table, as returned by the subscription method.
itemPosition1-based index of the item in the involved table.
itemNameName of the changed item, or nil if an LSTableInfo was used to describe the table.
- (void) table: (LSSubscribedTableKey *)  tableKey
didUnsubscribeItemPosition: (int)  itemPosition
itemName: (NSString *)  itemName 
optional

Notification of the unsubscription of an item in the table.

It is sent if an LSTableInfo was used to describe the table, and just before tableDidUnsubscribeAllItems:. Any data notification received after this call can be ignored.
If an LSTableInfo was used to describe the table, then this notification will not be sent.
Note: this notification is called directly from the session thread. Method implementation should be fast and nonblocking. Any slow operations should be enqueued and performed asynchronously.

Parameters
tableKeyKey of the related table, as returned by the subscription method.
itemPosition1-based index of the item in the involved table.
itemNameName of the changed item, or nil if an LSTableInfo was used to describe the table.
- (void) table: (LSSubscribedTableKey *)  tableKey
itemPosition: (int)  itemPosition
itemName: (NSString *)  itemName
didLoseRawUpdates: (int)  numberOfUpdates 
optional

Notification of one or more updates that were suppressed in the Server because of internal memory limitations.

The notification can be sent if the subscription is in LSModeRaw or LSModeCommand. It can also be sent if the subscription is in LSModeMerge or LSModeDistinct and unfiltered dispatching has been requested. In all these cases, an update loss may be unacceptable for the client (in filtered LSModeCommand, this applies to ADD and DELETE events only).
Note: this notification is called directly from the session thread. Method implementation should be fast and nonblocking. Any slow operations should be enqueued and performed asynchronously.

Parameters
tableKeyKey of the related table, as returned by the subscription method.
itemPosition1-based index of the item in the involved table.
itemNameName of the changed item, or nil if an LSTableInfo was used to describe the table.
numberOfUpdatesNumber of consecutive lost updates for the item.
- (void) table: (LSSubscribedTableKey *)  tableKey
itemPosition: (int)  itemPosition
itemName: (NSString *)  itemName
didUpdateWithInfo: (LSUpdateInfo *)  updateInfo 

Notification of an update of the values for an item in the table.

Field value information is supplied through a suitable value object: as such, the value object can be stored and inquired in a different thread, if needed.
Note: this notification is called directly from the session thread. Method implementation should be fast and nonblocking. Any slow operations should be enqueued and performed asynchronously.

Parameters
tableKeyKey of the related table, as returned by the subscription method.
itemPosition1-based index of the item in the involved table.
itemNameName of the changed item, or nil if an LSTableInfo was used to describe the table.
updateInfoValue object which contains field value information.
- (void) tableDidUnsubscribeAllItems: (LSSubscribedTableKey *)  tableKey
optional

Notification of the unsubscription of all the items in the table.

The unsubscription may be subsequent to an unsubscribeTable call or to the closure of the connection. There is no guarantee that this call will not be followed by some further update notifications. Such extra calls should be ignored.
Note: this notification is called directly from the session thread. Method implementation should be fast and nonblocking. Any slow operations should be enqueued and performed asynchronously.

Parameters
tableKeyKey of the related table, as returned by the subscription method.

The documentation for this protocol was generated from the following file: