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.

Reply via email to