Component Requirements ====================== **Coverage:** 100.0% (33 of 33 items OK) .. _lobster-item-c8b44191e832598cf3c4a9b4ec123d0c51a5830c: .. dropdown:: [OK] TRLC Compreq MessagePassing.SafetyCertifiedTransportMechanismUnderQNX :class-title: sd-bg-success sd-text-white .. pull-quote:: On the QNX operating system, the message passing component shall use the QNX-message-passing as the underlying IPC mechanism. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.OSIndependentAPI ` * :ref:`MessagePassing.SafetyCertifiedTransportMechanism ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:24:18 `__ .. _lobster-item-3ed3932e1617891c204fa9604d572b35dc411f5f: .. dropdown:: [OK] TRLC Compreq MessagePassing.TransportMechanismOnLinux :class-title: sd-bg-success sd-text-white .. pull-quote:: On the Linux operating system, the message passing component shall use unix domain-sockets as the underlying IPC mechanism. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.OSIndependentAPI ` * :ref:`MessagePassing.SafetyCertifiedTransportMechanism ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:31:18 `__ .. _lobster-item-6557bfa98c4bae5d62c938e3ea7e7eb53014db1a: .. dropdown:: [OK] TRLC Compreq MessagePassing.OSProvidedSenderIdentity :class-title: sd-bg-success sd-text-white .. pull-quote:: The message passing server shall be able to identify the sender of each received message by the sender's OS-provided user ID (UID). .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.ServerInterface ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:39:18 `__ .. _lobster-item-c501eb139a55f89cfb7c496307b1bcd872600c07: .. dropdown:: [OK] TRLC Compreq MessagePassing.UnforgableSenderIdentity :class-title: sd-bg-success sd-text-white .. pull-quote:: The transport mechanism shall ensure that the UID used to identify a message, cannot be forged by the client. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.ServerInterface ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:46:18 `__ .. _lobster-item-86f22d383c88746f7b1a8541a82c82113d652644: .. dropdown:: [OK] TRLC Compreq MessagePassing.ServerCallbacksAreSequential :class-title: sd-bg-success sd-text-white .. pull-quote:: The server shall serialize all callbacks belonging to the same server instance, such that no two such callbacks execute concurrently. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.ServerInterface ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:57:18 `__ .. _lobster-item-d055e7db8e712723d4c4bc27bb00fa242bb9cc01: .. dropdown:: [OK] TRLC Compreq MessagePassing.ServerProcessesSinglePendingRequest :class-title: sd-bg-success sd-text-white .. pull-quote:: The server shall not dispatch a new sent-with-reply message callback on a given \`ServerConnection\` until the preceding request has been replied to. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.SynchronousBidirectionalCommunication ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:64:18 `__ .. _lobster-item-b745dbd983c695bf2fb07b8fd7d2c16bb50da44b: .. dropdown:: [OK] TRLC Compreq MessagePassing.ClientConnectionMaintainsStateMachine :class-title: sd-bg-success sd-text-white .. pull-quote:: The \`ClientConnection\` shall maintain a state machine with the states \`Starting\`, \`Ready\`, \`Stopping\`, and \`Stopped\`. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.OSIndependentAPI ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:71:18 `__ .. _lobster-item-10e701bb506b0eb2438cd78a3f4eebb1d08a3481: .. dropdown:: [OK] TRLC Compreq MessagePassing.SynchronousSendBlocksUntilServerReceives :class-title: sd-bg-success sd-text-white .. pull-quote:: The \`ClientConnection\` shall block the calling thread during a \`Send\` call until the message has been and accepted by the server's receive buffer, when no client-side send queue is configured. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.SynchronousUnidirectionalCommunication ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:78:18 `__ .. _lobster-item-afe85853812a354dea018656cd2af46571a459dd: .. dropdown:: [OK] TRLC Compreq MessagePassing.AsynchronousSendReturnsAfterLocalAcceptance :class-title: sd-bg-success sd-text-white .. pull-quote:: The \`ClientConnection\` shall return from a Send call after the message has been accepted by the local message passing layer, when a client-side send queue is configured. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.AsynchronousUnidirectionalCommunication ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:85:18 `__ .. _lobster-item-49c2ba97fad1c38fa0189a26fb40195e574ec529: .. dropdown:: [OK] TRLC Compreq MessagePassing.SendWaitReplyBlocksUntilServerReply :class-title: sd-bg-success sd-text-white .. pull-quote:: The ClientConnection shall block the calling thread during a SendWaitReply call until a reply from the server is received or an error is detected. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.SynchronousBidirectionalCommunication ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:92:18 `__ .. _lobster-item-f871af82c845b3a754171fd902ecb1414dd2b223: .. dropdown:: [OK] TRLC Compreq MessagePassing.MessageOrderPreservationPerConnection :class-title: sd-bg-success sd-text-white .. pull-quote:: The message passing component shall deliver messages of the same delivery type from the same \`IClientConnection\` instance to the server in the order they were sent. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.PointToPointConnections ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:99:18 `__ .. _lobster-item-31c4cdad17b7cec7f6b373a7c95856a8f5f32b60: .. dropdown:: [OK] TRLC Compreq MessagePassing.SingleServerInstancePerServiceIdentifier :class-title: sd-bg-success sd-text-white .. pull-quote:: The message passing component shall prevent more than one active \`IServer\` instance serves a any given service identifier at any point in time. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.PointToPointConnections ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:106:18 `__ .. _lobster-item-183811174f434c563f661cf8157bf17baee6345f: .. dropdown:: [OK] TRLC Compreq MessagePassing.IServerStartListeningAPI :class-title: sd-bg-success sd-text-white .. pull-quote:: \`IServer\` shall provide a \`StartListening\` method that registers connection, disconnection, fire-and-forget message, and sent-with-reply message callbacks. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.ServerInterface ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:117:18 `__ .. _lobster-item-757bfb1d3471e29e6c51ac3225df5d266b4cea0a: .. dropdown:: [OK] TRLC Compreq MessagePassing.IServerStopListeningAPI :class-title: sd-bg-success sd-text-white .. pull-quote:: \`IServer\` shall provide a \`StopListening\` method that releases all registered callbacks and closes all active server connections. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.ServerInterface ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:124:18 `__ .. _lobster-item-005415bbc9f45d23a36d2617c687e2debad5c6d0: .. dropdown:: [OK] TRLC Compreq MessagePassing.IClientConnectionSendAPI :class-title: sd-bg-success sd-text-white .. pull-quote:: \`IClientConnection\` shall provide a Send method that accepts a byte-span message and transmits it to the server. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.SynchronousUnidirectionalCommunication ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:131:18 `__ .. _lobster-item-6e728e91024a876cdec182d4f682689d0804e3af: .. dropdown:: [OK] TRLC Compreq MessagePassing.IClientConnectionSendWaitReplyAPI :class-title: sd-bg-success sd-text-white .. pull-quote:: \`IClientConnection\` shall provide a \`SendWaitReply\` method that accepts a message byte span and a reply buffer span and returns the received reply payload trimmed to its actual size. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.SynchronousBidirectionalCommunication ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:138:18 `__ .. _lobster-item-abffce41799847c784bb944e3203696831784cb2: .. dropdown:: [OK] TRLC Compreq MessagePassing.IClientConnectionSendWithCallbackAPI :class-title: sd-bg-success sd-text-white .. pull-quote:: \`IClientConnection\` shall provide a \`SendWithCallback\` method that accepts a message byte span and a reply callback and returns after the message has been accepted by the local message passing layer. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.AsynchronousUnidirectionalCommunication ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:145:18 `__ .. _lobster-item-ce1e28811ef2eba814c18734437de3ddf42a8fca: .. dropdown:: [OK] TRLC Compreq MessagePassing.IServerConnectionReplyAPI :class-title: sd-bg-success sd-text-white .. pull-quote:: \`IServerConnection\` shall provide a Reply method that accepts a byte-span message and delivers it as the reply to the pending REQUEST from the client. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.SynchronousBidirectionalCommunication ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:152:18 `__ .. _lobster-item-6aaa777799dad7c90cc9ecbb8b4e133712a1b198: .. dropdown:: [OK] TRLC Compreq MessagePassing.IServerConnectionNotifyAPI :class-title: sd-bg-success sd-text-white .. pull-quote:: \`IServerConnection\` shall provide a \`Notify\` method that accepts a byte-span message and sends it as an asynchronous notification to the client. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.ServerInterface ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:159:18 `__ .. _lobster-item-e7192f4a9a7501652ec85cfc6c48f5d5a3a7219f: .. dropdown:: [OK] TRLC Compreq MessagePassing.ClientFactoryCreateAPI :class-title: sd-bg-success sd-text-white .. pull-quote:: \`IClientFactory\` shall provide a \`Create\` method that accepts a \`ServiceProtocolConfig\` and a \`ClientConfig\` and returns a new \`IClientConnection\` instance configured for the service specified by the \`ServiceProtocolConfig\`. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.OSIndependentAPI ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:166:18 `__ .. _lobster-item-0b4b44fdb75f2e9b126bbe4282a599b8ded87a18: .. dropdown:: [OK] TRLC Compreq MessagePassing.ServerFactoryCreateAPI :class-title: sd-bg-success sd-text-white .. pull-quote:: \`IServerFactory\` shall provide a \`Create\` method that accepts a \`ServiceProtocolConfig\` and a \`ServerConfig\` and returns a new \`IServer\` instance configured for the service specified by the \`ServiceProtocolConfig\`. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.OSIndependentAPI ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:173:18 `__ .. _lobster-item-c13e294a8f2f6da60233f825387fa209993bcd5e: .. dropdown:: [OK] TRLC Compreq MessagePassing.IClientConnectionGetStateAPI :class-title: sd-bg-success sd-text-white .. pull-quote:: \`IClientConnection\` shall provide a \`GetState\` method that returns the current connection state. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.OSIndependentAPI ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:180:18 `__ .. _lobster-item-302f9a749d97475b33976026e8e9f61909baf6d4: .. dropdown:: [OK] TRLC Compreq MessagePassing.ServerPreallocatesConnectionObjects :class-title: sd-bg-success sd-text-white .. pull-quote:: The server shall preallocate memory for the number of \`IServerConnection\` objects specified by \`ServerConfig::pre\_alloc\_connections\` at construction time, without allocating additional memory for each incoming client connection. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.AllowsBoundedMonotonicMemoryAllocation ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:191:18 `__ .. _lobster-item-555d71af7fc08ec1339fbb5c5b96ff1f415c02cd: .. dropdown:: [OK] TRLC Compreq MessagePassing.ServerRingBufferQueueSizeConfigurable :class-title: sd-bg-success sd-text-white .. pull-quote:: The server shall implement the shared incoming message queue as a ring buffer with the number of slots equal to \`ServerConfig::max\_queued\_sends\`, configured at construction time. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.AllowsBoundedMonotonicMemoryAllocation ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:198:18 `__ .. _lobster-item-272611f1645a3f2b4b09c19b6c2523be5967f3df: .. dropdown:: [OK] TRLC Compreq MessagePassing.ServerConnectionRefusal :class-title: sd-bg-success sd-text-white .. pull-quote:: The server shall enable the connection callback to reject an incoming client connection by returning an error, without establishing a server connection for the rejected client. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.ServerInterface ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:205:18 `__ .. _lobster-item-8346b9cd08a8a5abcb4448d33f2e0dacdab4d5f4: .. dropdown:: [OK] TRLC Compreq MessagePassing.ServerIConnectionHandlerDispatch :class-title: sd-bg-success sd-text-white .. pull-quote:: The server shall invoke the \`IConnectionHandler\` virtual methods of the \`UserData\` object for a given \`IServerConnection\` in place of the server-wide callbacks, when the UserData holds an \`IConnectionHandler\` instance. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.ServerInterface ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:212:18 `__ .. _lobster-item-66271ff8c7107c2e1b8995a1e15a26f9038768c5: .. dropdown:: [OK] TRLC Compreq MessagePassing.ClientConnectionSendQueuePreallocation :class-title: sd-bg-success sd-text-white .. pull-quote:: The \`ClientConnection\` shall preallocate send queue storage for the number of asynchronous messages specified by \`ClientConfig::max\_queued\_sends\` at construction time. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.AllowsBoundedMonotonicMemoryAllocation ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:223:18 `__ .. _lobster-item-ad9ec3c0cd9d9745f5292397166c0dcb4a9fed9b: .. dropdown:: [OK] TRLC Compreq MessagePassing.ClientConnectionSharedResourceEngineInjection :class-title: sd-bg-success sd-text-white .. pull-quote:: The \`ClientConnection\` shall accept an \`ISharedResourceEngine\` instance as a constructor parameter, which shouldbe the exclusive provider forall shared resources. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.SingletonFreeImplementation ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:231:18 `__ .. _lobster-item-03da5be8c9ef4a170a61a8f5ff9b075879a71521: .. dropdown:: [OK] TRLC Compreq MessagePassing.ClientConnectionMockInjectionForTesting :class-title: sd-bg-success sd-text-white .. pull-quote:: The \`ClientConnection\` shall use the \`ISharedResourceEngine\` interface for all OS interactions. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.AllowsResourceMockInjectionForTesting ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:238:18 `__ .. _lobster-item-11eb8bac40cdaa960d87c16b5bdfe1d4dd04a76c: .. dropdown:: [OK] TRLC Compreq MessagePassing.ClientConnectionSendFailsWhenStopped :class-title: sd-bg-success sd-text-white .. pull-quote:: The \`ClientConnection\` shall return an error for a Send call when the connection is in the \`Stopped\` state. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.SynchronousUnidirectionalCommunication ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:246:18 `__ .. _lobster-item-c68576219af5b2d13cae61823a18d0ad0d3425cc: .. dropdown:: [OK] TRLC Compreq MessagePassing.ClientConnectionSendWaitReplyFailsWhenStopped :class-title: sd-bg-success sd-text-white .. pull-quote:: The \`ClientConnection\` shall return an error for a \`SendWaitReply\` call when the connection is in the \`Stopped\` state. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.SynchronousBidirectionalCommunication ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:253:18 `__ .. _lobster-item-64eb4e6b36d587b042da259a2fc0aa57676f334c: .. dropdown:: [OK] TRLC Compreq MessagePassing.ClientConnectionSendWithCallbackFailsWhenStopped :class-title: sd-bg-success sd-text-white .. pull-quote:: The \`ClientConnection\` shall return an error for a \`SendWithCallback\` call when the connection is in the \`Stopped\` state. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.AsynchronousUnidirectionalCommunication ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:260:18 `__ .. _lobster-item-4f82140f2d70e45a9068394b471a0fef0390bfd7: .. dropdown:: [OK] TRLC Compreq MessagePassing.ClientConnectionStateCallbackInvocation :class-title: sd-bg-success sd-text-white .. pull-quote:: The \`ClientConnection\` shall invoke the registered \`StateCallback\` each time the connection state changes, passing the new state as the argument. .. raw:: html
**Traces to:** * :ref:`//score/message\_passing/dependability:dispatch ` * :ref:`//score/message\_passing/dependability:component\_message\_passing ` .. raw:: html
**Derived from:** * :ref:`MessagePassing.OSIndependentAPI ` .. raw:: html
**Source:** `score/message\_passing/dependability/requirements/component\_requirements.trlc:267:18 `__