An SDK client application, such as a console or an adapter, utilizes the Broker to determine where Managers are running. When a Manager starts, it registers with the broker:

  • Hostname of the machine it is running on

  • TCP port it is listening on.

    SDK clients retrieve this information from the Broker so that they can communicate with the Manager.

    The Broker registry maintains the following information:

  • Name of the Manager, including the host and TCP port it is running on.

  • Status of each Manager.

    The Broker checks the status of each Manager every five minutes by connecting to the host on which SDK is running and determining if the SDK process is running properly. If the Broker is unable to connect or the process is not running, the Broker changes the status of the Manager to Dead.

    • Running indicates that the Broker is able to communicate with the Manager.

    • Dead indicates that the Manager exited unexpectedly or is unreachable. When a Manager properly shuts down, it notifies the Broker and the Broker removes it from its registry.

    • Unknown indicates that the Broker was restarted and that it is querying its list of Managers to determine their state.

  • Process ID of each Manager. This is the process ID assigned by the host’s operating system. In some cases when the Broker is restarted, the process ID of each Manager is set to zero to indicate the Broker does not know the process ID of the Manager.

  • Last time the state of the Manager changed. This value is set when the Manager registers with the Broker and is updated if the Broker determines that the Manager is dead. When the Broker restarts, it changes the status of Managers marked Unknown to Running or Dead.

    The Broker changes the status of the Manager to Dead when it cannot connect to the Manager. However, the Broker continues to try to connect to the Manager every five minutes. If the Broker succeeds in connecting to the Manager, it changes its status back to Running.