diff --git a/Communication/OutWit.Communication.Client.Tcp/README.md b/Communication/OutWit.Communication.Client.Tcp/README.md index b4a1ab4..e42a186 100644 --- a/Communication/OutWit.Communication.Client.Tcp/README.md +++ b/Communication/OutWit.Communication.Client.Tcp/README.md @@ -12,7 +12,7 @@ Key points: - **Optional TLS Security:** This client supports secure connections via TLS. WitRPC provides `WithTcpSecure` methods to handle the SSL/TLS handshake. When using TLS, the server must have an X.509 certificate and the client will validate it. This allows you to securely communicate with a server over the internet. (You can use WitRPC's own encryption on top of TLS as well, but typically if using TLS, you might disable the additional layer of encryption to avoid double-encrypting.) -- **High Performance:** TCP has minimal overhead and is suitable for high-throughput and low-latency communication. The WitRPC protocol runs efficiently on top of TCP, allowing multiple requests and responses to be handled concurrently over the single connection. +- **High Performance:** TCP has minimal overhead and is suitable for high-throughput and low-latency communication. The WitRPC protocol pipelines requests over a single connection: a client may keep many requests in flight (correlated by message id) and receives each response as it completes. Within one connection, however, the server processes requests **one at a time, in arrival order**, so the throughput of a connection is bounded by the handler's own execution time (about 1 000 light requests per second were measured against a WitCloud gateway on the 3.x line), while independent connections scale in parallel - each has its own inbound queue and send lock under a server-wide concurrency cap. Open one connection per class of traffic that must not wait behind another. As with all transport-specific packages, OutWit.Communication.Client.Tcp should be used with the matching server package **OutWit.Communication.Server.Tcp** on the server side (both client and server must use TCP to communicate).