Component Requirements#

Coverage: 0.0% (0 of 40 items OK)

[PARTIAL] TRLC Compreq MessagePassing.SafetyCertifiedTransportMechanismUnderQNX

On the QNX operating system, the message passing component shall use the QNX-message-passing as the underlying IPC mechanism.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:19:18

[PARTIAL] TRLC Compreq MessagePassing.TransportMechanismOnLinux

On the Linux operating system, the message passing component shall use unix domain-sockets as the underlying IPC mechanism.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:26:18

[PARTIAL] TRLC Compreq MessagePassing.OSProvidedClientIdentityPerConnection

The message passing server shall identify the client of a Server Connection once, when the connection is accepted, by the client’s OS-provided process ID (PID), user ID (UID), and primary group ID (GID).


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:34:18

[PARTIAL] TRLC Compreq MessagePassing.ServerCallbacksAreSequential

The server shall serialize all callbacks belonging to the same server instance, such that no two such callbacks execute concurrently.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:46:18

[PARTIAL] TRLC Compreq MessagePassing.ServerProcessesSinglePendingRequest

The server shall not dispatch a new sent-with-reply message callback on a given `ServerConnection` until the preceding request has been replied to.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:53:18

[PARTIAL] TRLC Compreq MessagePassing.ClientConnectionMaintainsStateMachine

The `ClientConnection` shall maintain a state machine with the states `Starting`, `Ready`, `Stopping`, and `Stopped`.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:60:18

[PARTIAL] TRLC Compreq MessagePassing.ClientSendUsesDirectTransportCallByDefault

The `ClientConnection` shall issue the `Send` message via an immediate OS-level transport call, which may block the calling thread, unless `ClientConfig::truly_async` is configured, or a `SendWaitReply`/`SendWithCallback` reply is currently pending on the same connection while `ClientConfig::fully_ordered` is configured.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:67:18

[PARTIAL] TRLC Compreq MessagePassing.ClientSendQueuesForAsyncOrOrderingReasons

The `ClientConnection` shall enqueue the `Send` message for asynchronous delivery by the background transport, returning after local acceptance, whenever `ClientConfig::truly_async` is configured, or whenever a `SendWaitReply`/`SendWithCallback` reply is currently pending on the same connection while `ClientConfig::fully_ordered` is configured.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:75:18

[PARTIAL] TRLC Compreq MessagePassing.SendWaitReplyBlocksUntilServerReply

The ClientConnection shall block the calling thread during a SendWaitReply call until a reply from the server is received or an error is detected.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:83:18

[PARTIAL] TRLC Compreq MessagePassing.MessageOrderPreservationPerConnection

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.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:90:18

[PARTIAL] TRLC Compreq MessagePassing.SingleServerInstancePerServiceIdentifier

The message passing component shall prevent more than one active `IServer` instance serves any given service identifier at any point in time.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:97:18

[PARTIAL] TRLC Compreq MessagePassing.IServerStartListeningAPI

`IServer` shall provide a `StartListening` method that registers connection, disconnection, fire-and-forget message, and sent-with-reply message callbacks.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:108:18

[PARTIAL] TRLC Compreq MessagePassing.IServerStopListeningAPI

`IServer` shall provide a `StopListening` method that releases all registered callbacks and closes all active server connections.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:115:18

[PARTIAL] TRLC Compreq MessagePassing.IClientConnectionSendAPI

`IClientConnection` shall provide a Send method that accepts a byte-span message and transmits it to the server.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:122:18

[PARTIAL] TRLC Compreq MessagePassing.IClientConnectionSendWaitReplyAPI

`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.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:129:18

[PARTIAL] TRLC Compreq MessagePassing.IClientConnectionSendWithCallbackAPI

`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.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:136:18

[PARTIAL] TRLC Compreq MessagePassing.IServerConnectionReplyAPI

`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.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:143:18

[PARTIAL] TRLC Compreq MessagePassing.IServerConnectionNotifyAPI

`IServerConnection` shall provide a `Notify` method that accepts a byte-span message and sends it as an asynchronous notification to the client.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:150:18

[PARTIAL] TRLC Compreq MessagePassing.ClientFactoryCreateAPI

`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`.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:157:18

[PARTIAL] TRLC Compreq MessagePassing.ServerFactoryCreateAPI

`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`.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:164:18

[PARTIAL] TRLC Compreq MessagePassing.ClientFactoryEngineSharingAPI

`ClientFactory` shall provide a constructor accepting a `shared_ptr<Engine>` and a `GetEngine` accessor, so that it can share a single `Engine` instance with other `ClientFactory`/`ServerFactory` instances in the same process instead of each owning its own.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:171:18

[PARTIAL] TRLC Compreq MessagePassing.ServerFactoryEngineSharingAPI

`ServerFactory` shall provide a constructor accepting a `shared_ptr<Engine>` and a `GetEngine` accessor, so that it can share a single `Engine` instance with other `ClientFactory`/`ServerFactory` instances in the same process instead of each owning its own.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:178:18

[PARTIAL] TRLC Compreq MessagePassing.IClientConnectionGetStateAPI

`IClientConnection` shall provide a `GetState` method that returns the current connection state.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:185:18

[PARTIAL] TRLC Compreq MessagePassing.IClientConnectionGetStopReasonAPI

`IClientConnection` shall provide a `GetStopReason` method that returns the reason for the most recent transition to the `Stopping`/`Stopped` state.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:192:18

[PARTIAL] TRLC Compreq MessagePassing.IClientConnectionStartAPI

`IClientConnection` shall provide a `Start` method that begins connecting to the server, registering the state and notification callbacks for the connection’s lifetime.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:199:18

[PARTIAL] TRLC Compreq MessagePassing.IClientConnectionStopAPI

`IClientConnection` shall provide a `Stop` method that ends the existing connection.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:206:18

[PARTIAL] TRLC Compreq MessagePassing.IClientConnectionRestartAPI

`IClientConnection` shall provide a `Restart` method that attempts to bring a stopped connection back to the `Starting` state.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:213:18

[PARTIAL] TRLC Compreq MessagePassing.IServerConnectionGetClientIdentityAPI

`IServerConnection` shall provide a `GetClientIdentity` method that returns the client’s OS-provided process ID (PID), user ID (UID), and primary group ID (GID), established once when the connection was accepted.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:220:18

[PARTIAL] TRLC Compreq MessagePassing.IServerConnectionGetUserDataAPI

`IServerConnection` shall provide a `GetUserData` method that returns the `UserData` object associated with the connection, as returned by the connection callback when the connection was accepted.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:228:18

[PARTIAL] TRLC Compreq MessagePassing.ServerPreallocatesConnectionObjects

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.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:239:18

[PARTIAL] TRLC Compreq MessagePassing.ServerRingBufferQueueSizeConfigurable

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.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:246:18

[PARTIAL] TRLC Compreq MessagePassing.ServerConnectionRefusal

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.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:253:18

[PARTIAL] TRLC Compreq MessagePassing.ServerIConnectionHandlerDispatch

The server shall invoke the `IConnectionHandler` virtual methods of the `UserData` object for a given `IServerConnection` instead of the server-wide callbacks, when the UserData holds an `IConnectionHandler` instance.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:260:18

[PARTIAL] TRLC Compreq MessagePassing.ClientConnectionSendQueuePreallocation

The `ClientConnection` shall preallocate send queue storage for the number of asynchronous messages specified by `ClientConfig::max_queued_sends` at construction time.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:271:18

[PARTIAL] TRLC Compreq MessagePassing.ClientConnectionSharedResourceEngineInjection

The `ClientConnection` shall accept an `ISharedResourceEngine` instance as a constructor parameter, which shouldbe the exclusive provider forall shared resources.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:279:18

[PARTIAL] TRLC Compreq MessagePassing.ClientConnectionMockInjectionForTesting

The `ClientConnection` shall use the `ISharedResourceEngine` interface for all OS interactions.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:286:18

[PARTIAL] TRLC Compreq MessagePassing.ClientConnectionSendFailsWhenStopped

The `ClientConnection` shall return an error for a Send call when the connection is in the `Stopped` state.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:294:18

[PARTIAL] TRLC Compreq MessagePassing.ClientConnectionSendWaitReplyFailsWhenStopped

The `ClientConnection` shall return an error for a `SendWaitReply` call when the connection is in the `Stopped` state.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:301:18

[PARTIAL] TRLC Compreq MessagePassing.ClientConnectionSendWithCallbackFailsWhenStopped

The `ClientConnection` shall return an error for a `SendWithCallback` call when the connection is in the `Stopped` state.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:308:18

[PARTIAL] TRLC Compreq MessagePassing.ClientConnectionStateCallbackInvocation

The `ClientConnection` shall invoke the registered `StateCallback` each time the connection state changes, passing the new state as the argument.


Traces to:

  • missing reference to Unit Test


Derived from:


Source: score/message_passing/dependability/requirements/component_requirements.trlc:315:18