Lightstreamer .Net Adapter 1.7
ContentsIndexHome
PreviousUpNext
IMetadataProvider Interface

Provides an interface to be implemented by a Remote Metadata Adapter in order to attach a Metadata Provider to Lightstreamer. The configuration of a Remote Adapter instance requires the following info: 

- an optional name for the instance; 

- the Remote Adapter class name; 

- optional configuration parameters. 

A single instance of each configured Remote Adapter is created by Lightstreamer at startup, through a Remote Server instance. For this purpose, any Remote Metadata Adapter must provide a void constructor. After creation, the init method is called, providing the Remote Metadata Adapter with the configuration information. 

A Metadata Provider is used by Lightstreamer Kernel in combination with one or multiple Data Providers, uniquely associated with it; it is consulted in order to manage the push Requests intended for the associated Data Providers. A Metadata Provider supplies informations for several different goals: 

- the resolution of the macro names used in the Requests; 

- the check of the User accessibility to the requested Items; 

- the check of the resource level granted to the User; 

- the request for specific characteristics of the Items. 

Note: Each Item may be supplied by one or more of the associated Data Adapters and each client Request must reference to a specific Data Adapter. However, in the current version of the interface, no Data Adapter information is supplied to the Metadata Adapter methods. Hence, the Item names must provide enough information for the methods to give an answer. As a consequence, for instance, the frequency, snapshot length and other characteristics of an item are the same regardless of the Data Adapter it is requested from. More likely, for each item name defined, only one of the Data Adapters in the set is responsible for supplying that item. 

All implementation methods should perform as fast as possible. Note that the roundtrip time involved in the remote call adds up to each call time anyway. In order to avoid that delays on calls for one session propagate to other sessions, the size of the thread pool devoted to the management of the client requests should be properly set, through the "server_pool_max_size" flag, in the Server configuration file. 

Alternatively, a dedicated pool, properly sized, can be defined for the involved Adapter Set in “adapters.xml”. Still more restricted dedicated pools can be defined for the authorization-related calls and for each Data Adapter in the Adapter Set. The latter pool would also run any Metadata Adapter method related to the items supplied by the specified Data Adapter. 

 

C++
public: __interface IMetadataProvider;
C#
public interface IMetadataProvider;
Visual Basic
Public Interface IMetadataProvider