Funnily enough this is exactly the question I was researching so fortunate to see it asked and answered so recently.
Our use case (proposed use case) is to stand up a central server (coverage collection server) to request/receive JaCoCo data periodically and store it, probably on a rolling window basis.
We would deploy the agents against Tomcat apps in tcpclient mode, with sessionIDs identifying which application is being instrumented. These tomcat servers (tcpclient) would be used for automated and manual test cases, sometimes over the course of days, and the servers would be expected to be "up" without restarts for long periods of time.
Presumably the collection server could at some point be bounced or fail, at which point all of the tcpclients would be hung and need to be restarted. The idea I'd been considering as I look though the code was to add an optional "retry" setting specific to tcpclient that would cause TcpOutputClient to create a new TcpConnection on failure (possibly after some delay, which conceptually could be configurable). It seems relatively clear to me how to retrofit this. For my use case at least, I would ignore any data that happened to be in transit during a failure. I have not looked at what would happen to the visitor if the server were killed during data transmission.
Mark, if I were to do this work, add the test cases, update the documentation, would this be a pull request that would be considered? Or is this functionality that you do not consider a fit for the project?
What is the right process to surface this for consideration?
Thank you
Nathan