You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description = "The server shall not dispatch a new sent-with-reply message callback on a given `ServerConnection` until the preceding request has been replied to."
description = "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."
description = "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."
description = "The ClientConnection shall block the calling thread during a SendWaitReply call until a reply from the server is received or an error is detected."
description = "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."
description = "The message passing component shall prevent more than one active `IServer` instance serves a any given service identifier at any point in time."
description = "`IServer` shall provide a `StartListening` method that registers connection, disconnection, fire-and-forget message, and sent-with-reply message callbacks."
description = "`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."
description = "`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."
description = "`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."
description = "`IServerConnection` shall provide a `Notify` method that accepts a byte-span message and sends it as an asynchronous notification to the client."
description = "`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`."
description = "`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`."
description = "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."
description = "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."
description = "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."
description = "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."
description = "The `ClientConnection` shall preallocate send queue storage for the number of asynchronous messages specified by `ClientConfig::max_queued_sends` at construction time."
226
225
note = "This requirement is intended to ensure a design that avoids dynamic memory allocation for the send queue, after the construction."
description = "The `ClientConnection` shall accept an `ISharedResourceEngine` instance as a constructor parameter, which shouldbe the exclusive provider forall shared resources."
description = "The `ClientConnection` shall invoke the registered `StateCallback` each time the connection state changes, passing the new state as the argument."
description = "The message passing component shall support only point-to-point (1:1) connections between communication endpoints. N:M connections are explicitly excluded."
description = "The communication shall support synchronous unidirectional message sending on a given connection. The send call blocks until the message has been transferred to the receiving side and a suitable handler has been identified."
description = "The communication shall support synchronous bidirectional request-response communication on a given connection. The send call blocks until a reply from the receiver has been received (SendWaitReply)."
description = "The communication shall support asynchronous unidirectional message sending, where the send call returns after the local message passing layer has accepted the message. No guarantee is provided that the message is delivered to or processed by the receiver."
0 commit comments