I am pretty sure session.Close as implemented is a bit wrong. We are properly using <close-session> rpc message to gracefully close the session with the netconf server, however then we are closing the transports as well.
This should probably be modified to
- Send
close-session
- Wait for timeout set by the context (and maybe a default if not set?)
- Wait for the session to close (on ssh this causes the channel to be closed, need to test if some vendors kill the entire connection)
- Never close the transport.
Transport is constructed outside of the session and passed in, it is a bit crazy that we automatically close it when the session is done as well. This is also needed to allow for transport reuse potentially.
I am pretty sure
session.Closeas implemented is a bit wrong. We are properly using<close-session>rpc message to gracefully close the session with the netconf server, however then we are closing the transports as well.This should probably be modified to
close-sessionTransport is constructed outside of the session and passed in, it is a bit crazy that we automatically close it when the session is done as well. This is also needed to allow for transport reuse potentially.