Run safelyDisconnect() on event loop 35/102735/1
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 18 Oct 2022 09:10:15 +0000 (11:10 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 18 Oct 2022 13:07:40 +0000 (15:07 +0200)
commitcd0fe54e116b26fd4778fe68001e3231f76ba9df
treee1c7b86043c64583f8440e1802feb56091db269d
parent9a5114f3b132bca358e5058226ccb178be47e070
Run safelyDisconnect() on event loop

The disconnect() operation needs to inform handlers of state
transitions, which should not be delayed. Netty provides indirects these
calls silently on thread mismatch, which we do not want.

Make sure to schedule safelyDisconnect() on the event loop, so that that
it cannot run concurrently with other channel tasks.

JIRA: NETCONF-905
Change-Id: Iffe98db142f9c407fca9f92e5d336a0484ef1eff
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit f2cf330ae8041264a599b8f8b5652ee54716eb88)
netconf/netconf-netty-util/src/main/java/org/opendaylight/netconf/nettyutil/handler/ssh/client/AsyncSshHandler.java
netconf/netconf-netty-util/src/test/java/org/opendaylight/netconf/nettyutil/handler/ssh/client/AsyncSshHandlerTest.java