The Infocast client configuration

The Infocast client expects an XML formatted object on the metadata channel that describes which channels and objects it should listen to. The object must be called cfg.infocast and should be added in the Infocast server configuration.

Infocast client configuration DTD

<!ELEMENT Infocast (Channel+)>
<!ELEMENT Channel (Object+)>
<!ATTLIST Channel
   address    CDATA #REQUIRED
   port       CDATA #REQUIRED
   connection (Persistent | Reconnected | Once) #REQUIRED
   interval   CDATA #IMPLIED
   timeout    CDATA #IMPLIED>
<!ELEMENT Object EMPTY>
<!ATTLIST Object
  name        CDATA #REQUIRED
  fetch       (Prefetch | OnRequest) #REQUIRED
  countref    (false | true) #IMPLIED>

Infocast client configuration XML example

The Infocast client configuration XML example below shows a configuration of a metadata channel and an application install package channel. The metadata channel consists of channel table, portal URLs, home page URL and proxy list. The install package channel consists of an install package for an application.

The client should be persistently connected to the metadata channel and all objects on it should be prefetched. The install package channel should be reconnected, that is it should be connected to at specific intervals, and the install package should only be fetched on request.

The name of this file in the evaluation configuration is infocastclientconfig.xml.

<?xml version="1.0"?>
<Infocast>
  <Channel address="224.2.2.2" port="22222" connection="Persistent">
    <Object name="cfg.media.channeltable" fetch="Prefetch"/>
    <Object name="cfg.portal.whitelisturls" fetch="Prefetch"/>
    <Object name="cfg.portal.proxylist" fetch="Prefetch"/>
    <Object name="var.utctime" fetch="Prefetch"/>
  </Channel>

  <Channel address="224.42.42.42" port="12345"
           connection="Reconnected" interval="60" timeout="10">
    <Object name="install.app.star_blaze"
            fetch="OnRequest" countref="true"/>
  </Channel>
</Infocast>

Infocast client XML description

The Infocast client configuration contains all the Infocast channels the client should listen to and all objects on those channels that the client should fetch. If the object is not in the configuration file it will be ignored by the client and the IP-STB will not get the object.

Each attribute for a channel is described inside the <Channel> element. The name of the object and whether the object should be fetched on request or as soon as possible is described with the name and fetch attributes to the <Object> elements.

Attribute Comment Value
address Multicast channel address. Type:
String

Value set:
A valid multicast IP address

port Multicast channel port. Type:
Integer

Value set:
[1 - 65535]

connection Three different types of connections are possible:
  • Once means that the client listens to the channel until it has fetched all the objects it needs from the channel and then disconnects.
  • Persistent means that the client listens to the channel all the time to be able to detect objects that change.
  • Reconnected means that the client listens until it has fetched all the objects it needs or a timeout occurs and then reconnects with some interval to see if the objects have changed. If the connection type is Reconnected the interval and timeout for the connection needs to be specified (the unit is seconds). Observe that the timeout must be smaller than the interval.
Type:
String

Value set:
Once | Persistent | Reconnected

interval Interval for the connection (if type is Reconnected) in seconds. The interval is the time between the connections (joins). Observe that the timeout must be smaller than the interval. Type:
Integer

Value set:
N/A

timeout Timeout for the connection (if type is Reconnected) in seconds. The infocast client will listen until all desired objects have been retrieved or until the timeout, whichever occurs first. The infocast client will then disconnect from the channel until the next interval.

Note! The timeout must be smaller than the interval.

Type:
Integer

Value set:
N/A

name Infocast object name. Type:
String

Value set:
A valid object name

Example:
cfg.portal.proxylist

fetch If an object has the fetch type Prefetch it is fetched as soon as the client discovers it on the channel and if the fetch type is OnRequest the client waits to fetch it until someone has subscribed to the object in the Information Service.

When the fetch type is OnRequest you should specify whether the client should keep track of a reference count for the object with the countref attribute. When the client keeps a reference count it will delete the object, saving valuable memory space, when no references are left to it (no subscriptions in the Information Service).

Note! If an object has the fetch type OnRequest and the channel has the connection type interval, then the object will not be available to the requesting application until after next connection.

Type:
String

Value set:
Prefetch | OnRequest

countref Specifies whether the client should keep track of a reference count for the object. When the client keeps a reference count it will delete the object, saving valuable memory space, when no references are left to it (no subscriptions in the Information Service). Type:
String

Value set:
false | true