Initialization starts the publication mechanism by performing the following operations:
Obtains configuration parameters from publisher.xml and establishes communications with subscribers.
Provides the Sybase Unified Agent Framework (UAF) Interface. Operations Console uses the UAF to provide an agent for each host on which Sybase RAP components are installed. The UAF agent interfaces with the Operations Console, receiving commands and requests for component information and configuration. The UAF also forwards requests as needed to each Sybase RAP component installed on the host.
Preallocates message buffers. The Publisher API accepts messages from the feed handler application and forwards them to subscribers. There are 2 types of buffering: the first is used to buffer messages, which saves memory allocation time for each new message; the second is for resend packets, which is used to resend packets.
Initializes timing services. Initialization starts a timing service, which is a thread that sleeps or wakes according to an interval timer. This thread notifies a message send service when it is time to send a partially full buffer to ensure minimal latency of market data messages. The task also marks intervals for statistics collection.
Initializes the heartbeat mechanism. In order to
facilitate a highly-available configuration, each Sybase RAP component
must respond to a heartbeat sent by a separate program. The sender
of the heartbeat message uses the response (or lack thereof) to
determine availability of the component. If necessary, a Sybase RAP FAILOVER
is invoked. The heartbeat is initialized during Init()
processing.
Initializes statistics. The Publisher API manages statistics on message traffic and reports these statistics to UAF on request.
Initializes the Resend infrastructure. If the Publisher API uses multicasting to publish messages, resending messages may be necessary, when asked to do so by any subscriber. The Publisher API caches candidates for resend in a circular buffer.