Client wrapper: using synchronous service API might never return in degraded cases
Using synchronous service API SOPC_ClientHelperNew_ServiceAsync
might never return in degraded cases.
In particular an issue has been identified that might happen when last response message and disconnection message are provided in same byte buffer at socket level: see #1314 (closed)
A mechanism is implemented to return a request timeout / failure which should avoid this possible deadlock case but some degraded cases (as #1314 (closed)) might still occur that might lead to inhibit those events.
As a consequence the client wrapper should include an additional timeout mechanism (based on SOPC_REQUEST_TIMEOUT_MS
) to guarantee the synchronous service call will always return even in case of unidentified degraded case.
Edited by Vincent Monfort