Lightstreamer .Net Adapter 1.7
ContentsIndexHome
PreviousUpNext
IMetadataProvider Methods

The methods of the IMetadataProvider class are listed here.

 
Name 
Description 
 
Called by Lightstreamer Kernel through the Remote Server to ask for the maximum size allowed for the buffer internally used to enqueue subsequent ItemUpdates for the same Item. If this buffer is more than 1 element deep, a short burst of ItemEvents from the Data Adapter can be forwarded to the Client without losses, though with some delay. The buffer size is specified in the Request. Its maximum allowed size can be different for different Users. Such buffering applies only to Items requested with publishing Mode MERGE or DISTINCT. However, if the Item has been requested with unfiltered dispatching, then... more 
 
Called by Lightstreamer Kernel through the Remote Server to ask for the bandwidth level to be allowed to a User for a push Session.
This method runs in the Server authentication thread pool, if defined.
Edition Note: Bandwidth control is not enabled in Allegro edition.
Edition Note: Bandwidth control is not enabled in Moderato edition.
 
 
Called by Lightstreamer Kernel through the Remote Server to ask for the ItemUpdate frequency to be allowed to a User for a specific Item. An unlimited frequency can also be specified. Such filtering applies only to Items requested with publishing Mode MERGE, DISTINCT and COMMAND (in the latter case, the frequency limitation applies to the UPDATE events for each single key). If an Item is requested with publishing Mode MERGE, DISTINCT or COMMAND and unfiltered dispatching has been specified, then returning any limited maximum frequency will cause the refusal of the request by the Kernel.
This method runs in the... more 
 
Called by Lightstreamer Kernel through the Remote Server to ask for the maximum allowed length for a Snapshot of an Item that has been requested with publishing Mode DISTINCT. In fact, in DISTINCT publishing Mode, the Snapshot for an Item is made by the last events received for the Item and the Client can specify how many events it would like to receive. Thus, Lightstreamer Kernel must always keep a buffer with some of the last events received for the Item and the lenght of the buffer is limited by the value returned by this method. The maximum Snapshot... more 
 
Called by Lightstreamer Kernel through the Remote Server to resolve a Group name supplied in a Request. The names of the Items in the Group must be returned. For instance, the client could be allowed to specify the "NASDAQ100" Group name and, upon that, the list of all items corresponding to the stocks included in that index could be returned.
Possibly, the content of a Group may be dependant on the User who is issuing the Request or on the specific Session instance.
A special case is when the Group name is made of a space-separated list of the names... more 
 
Called by Lightstreamer Kernel through the Remote Server to ask for the minimum ItemEvent frequency from the Data Adapter at which the events for an Item are guaranteed to be delivered to the Clients without loss of information. In case of an incoming ItemEvent frequency greater than this value, Lightstreamer Kernel may prefilter the events. Such prefiltering applies only for Items requested with publishing Mode MERGE or DISTINCT. The frequency set should be greater than the ItemUpdate frequencies allowed to the different Users for that Item. Moreover, because this filtering is made without buffers, the frequency set should be far... more 
 
Called by Lightstreamer Kernel through the Remote Server to resolve a Schema name supplied in a Request. The names of the Fields in the Schema must be returned.
Possibly, the content of a Schema may be dependant on the User who is issuing the Request, on the specific Session instance or on the Group to which the Request is related.
A special case is when the Schema name is made of a space-separated list of the names of the fields in the Schema. This convention is used by some of the subscription methods provided by the various client libraries. The... more 
 
Init 
Called by the Remote Server to provide initialization information to the Metadata Adapter. If an exception occurs in this method, Lightstreamer Kernel can't complete the startup and must exit. The initialization information can be supplied in different ways, depending on the way the Remote Server is launched.
The call must not be blocking; any polling cycle or similar must be started in a different thread. Any delay in returning from this call will in turn delay the Server initialization. If an exception occurs in this method, Lightstreamer Server can't complete the startup and must exit.
 
 
Called by Lightstreamer Kernel through the Remote Server to ask for the allowance of a publishing Mode for an Item. A publishing Mode can or cannot be allowed depending on the User. The Metadata Adapter should ensure that conflicting Modes are not both allowed for the same Item (even for different Users), otherwise some Requests will be eventually refused by Lightstreamer Kernel. The conflicting Modes are MERGE, DISTINCT and COMMAND.
This method runs in the Server thread pool specific for the Data Adapter that supplies the involved items, if defined.
 
 
Called by Lightstreamer Kernel through the Remote Server to ask for the allowance of a publishing Mode for an Item (for at least one User). The Metadata Adapter should ensure that conflicting Modes are not both allowed for the same Item. The conflicting Modes are MERGE, DISTINCT and COMMAND.
This method runs in the Server thread pool specific for the Data Adapter that supplies the involved items, if defined.
 
 
Called by Lightstreamer Kernel through the Remote Server to check that a User is enabled to open a new push Session. If the check succeeds, this also notifies the Metadata Adapter that the Session is being assigned to the User.
Request context information is also available; this allows for differentiating group, schema and message management based on specific Request characteristics.
This method runs in the Server thread pool specific for the Adapter Set, if defined.
 
 
Called by Lightstreamer Kernel through the Remote Server to check that a User is enabled to add some Tables (i.e. Subscriptions) to a push Session. If the check succeeds, this also notifies the Metadata Adapter that the Tables are being added to the Session.
This method is requested by the Server while holding a lock to the session. This means that any operation on the session, including update dispatching, is blocked during the roundtrip time. Hence, this method should be used only if strictly needed. In general, the WantsTablesNotification method should return false.
 
 
Called by Lightstreamer Kernel through the Remote Server to notify the Metadata Adapter that a push Session has been closed.
This method is called by the Server asynchronously and does not consume a pooled thread.
 
 
Called by Lightstreamer Kernel through the Remote Server to notify the Metadata Adapter that some Tables (i.e. Subscriptions) have been removed from a push Session.
This method is called by the Server asynchronously and does not consume a pooled thread.
 
 
This is the overview for the NotifyUser method overload. 
 
Called by Lightstreamer Kernel through the Remote Server to forward a message received by a User. The interpretation of the message is up to the Metadata Adapter. A message can also be refused.
This method runs in the Server thread pool specific for the Adapter Set, if defined.
 
 
Called by Lightstreamer Kernel through the Remote Server to know whether the Metadata Adapter must or must not be notified any time a Table (i.e. Subscription) is added or removed from a push Session owned by a supplied User. If this method returns false, the methods NotifyNewTables and NotifyTablesClose will never be called for this User, saving some processing time. In this case, the User will be allowed to add to his Sessions any Tables (i.e. Subscriptions) he wants.
This method runs in the Server authentication thread pool, if defined.