I'm curious to understand the use-cases for the pn_transport_unbind API method.
I understand that one such use case is failover. When a client discovers that it has lost connectivity to the server, the client calls pn_transport_unbind to unbind the connection from the old transport, establish a new socket and new transport and use pn_transport_bind to bind to original connection to the new transport, thus re-establishing state on the server. In this scenario, pn_transport_unbind is not used server-side. Is this correct? Are there other use-cases where the use of pn_transport_unbind is anticipated? It occurs to me that in a peer to peer use-case it would be problematic if both peers were to use pn_transport_unbind/bind when trying to re-establish communication following a connectivity issue as both sides would try to _actively_ re-initiate each session (having the effect of doubling the number of sessions) and then each peer would try and reattach the links on its initiated session. Is this correct? Or does the system have additional behaviour to prevent this? Kind regards, Keith Wall.
