Interoperability

SIL Kit provides interoperability between participants and utilities from different released versions of SIL Kit. This section documents known issues and potentially misleading messages reported by SIL Kit participants in certain cases.

Duplicate Participant Names

Multiple participants with the same name connect to a single registry instance.

The SIL Kit Registry with version 4.0.7 or lower just drops the connection in this case. The participant is not informed and eventually times out.

Scenario A

  • Registry-Version: 4.0.7 or lower

  • First Participant: Any version

  • Second Participant 4.0.7 or lower

The second participant connecting with the same name reports a connection timeout with the following message:

Timeout during connection handshake with SIL Kit Registry.

Scenario B (Mixed Versions)

  • Registry-Version: 4.0.7 or lower

  • First Participant: Any version

  • Second Participant 4.0.8 or higher

The message reported by the second participant has been modified in SIL Kit 4.0.8 (when connecting to a registry of version 4.0.7 or lower):

Timeout during connection handshake with SIL Kit Registry. This might indicate that a participant with the same name ('...') has already connected to the registry.

Scenario C (Mixed Versions)

  • Registry-Version: 4.0.8 or higher

  • First Participant: Any version

  • Second Participant 4.0.7 or lower

The registry transmits an error to the second participant in SIL Kit 4.0.8 via the ParticipantAnnouncementReply message with the status field set to Failed.

The second participant does not report a timeout anymore, but immediately reports a misleading error message, referring to an unsupported protocol version:

SILKIT Connection Handshake: ParticipantAnnouncementReply contains unsupported version. participant=SilKitRegistry participant-version=3.1

Scenario D

  • Registry-Version: 4.0.8 or higher

  • First Participant: Any version

  • Second Participant 4.0.8 or higher

The registry transmits an error to the second participant in SIL Kit 4.0.8 via the ParticipantAnnouncementReply message with the status field set to Failed.

The second participant does not report a timeout anymore, but immediately reports an error message containing the diagnostic message reported by the registry:

SIL Kit Connection Handshake: Received failed ParticipantAnnouncementReply from 'SilKitRegistry' with protocol version 3.1 and diagnostic message: participant with name 'CanReader' is already connected