[TENT] Reduce copies in the TCP data path (sendData/onRecvData) (#3536)
* [TENT] Make RPC server thread count configurable via MC_TENT_RPC_THREADS Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * [TENT] Route RPC server threads through the tent config system MC_TENT_RPC_THREADS now maps to the rpc_server_threads config key via ConfigHelper::loadFromEnv, so the knob works from MC_TENT_CONF too, with validation and a [1, 1024] bound in TransferEngineImpl. The value is passed down to CoroRpcAgent::start() instead of read via getenv. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * [TENT] Reduce copies in the TCP data path (sendData/onRecvData) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * [TENT] Move the RPC response attachment out of the client buffer release_resp_attachment() returns the internal buffer by value, but that buffer is padded to at least sizeof(std::string) for small attachments, so the moved string carries a garbage tail and the wrong length. Take the real length from the attachment view first and trim the moved string with an O(1) shrinking resize(). Large attachments keep the pure-move path. Also add a TCP data-path round-trip test (fork + WRITE/READ + memcmp, modeled on rdma_transport_test) that runs on loopback without special hardware and covers both single- and multi-threaded RPC servers. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
X
XiaoTian committed
cdf8b1ea04d6350bcb00d122c4d288f5da71d423
Parent: 99fb01e
Committed by GitHub <noreply@github.com>
on 8/20/2026, 7:10:58 AM