Implement connection reuse to measure throughput #10
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.



This pull request adds support for TCP connection reuse in the Gatling TCP plugin, allowing users to reuse the same TCP connection across multiple requests for more realistic load testing scenarios. It introduces new configuration options to control connection reuse and keying, updates the core action logic to manage connection lifecycles, and adds comprehensive tests for this feature.
Connection Reuse Feature:
reuseConnectionandconnectionKeyfields toTcpRequestBuilder, along with new builder methods (withReuseConnection,withReuseConnection(boolean), andwithConnectionKey) to configure connection reuse and keying.Connection Management Logic:
TcpRequestActionto check for an existing socket in the session and reuse it if possible, or create and store a new one if not. Handles proper cleanup and removal of connections from the session when no longer needed or on error.Testing:
TcpRequestActionSpecthat verifies TCP connection reuse works as expected by sending two requests over the same connection and checking correct session and response handling.These changes improve the flexibility and realism of TCP load testing by enabling persistent connections and fine-grained connection control.