service: change stop interface (#7816)

This commit is contained in:
Sam Kleinman
2022-02-17 11:23:32 -05:00
committed by GitHub
parent 38e29590ff
commit 28d34d635c
30 changed files with 129 additions and 226 deletions
+1 -3
View File
@@ -294,9 +294,7 @@ func (c *MConnection) _recover(ctx context.Context) {
}
func (c *MConnection) stopForError(ctx context.Context, r interface{}) {
if err := c.Stop(); err != nil {
c.logger.Error("error stopping connection", "err", err)
}
c.Stop()
if atomic.CompareAndSwapUint32(&c.errored, 0, 1) {
if c.onError != nil {
+4 -2
View File
@@ -208,7 +208,8 @@ func (n *Network) Remove(ctx context.Context, t *testing.T, id types.NodeID) {
require.NoError(t, node.Transport.Close())
node.cancel()
if node.Router.IsRunning() {
require.NoError(t, node.Router.Stop())
node.Router.Stop()
node.Router.Wait()
}
for _, sub := range subs {
@@ -275,7 +276,8 @@ func (n *Network) MakeNode(ctx context.Context, t *testing.T, opts NodeOptions)
t.Cleanup(func() {
if router.IsRunning() {
require.NoError(t, router.Stop())
router.Stop()
router.Wait()
}
require.NoError(t, transport.Close())
cancel()
+9 -9
View File
@@ -438,7 +438,7 @@ func TestRouter_AcceptPeers(t *testing.T) {
}
}
require.NoError(t, router.Stop())
router.Stop()
mockTransport.AssertExpectations(t)
mockConnection.AssertExpectations(t)
})
@@ -478,7 +478,7 @@ func TestRouter_AcceptPeers_Error(t *testing.T) {
require.NoError(t, router.Start(ctx))
time.Sleep(time.Second)
require.NoError(t, router.Stop())
router.Stop()
mockTransport.AssertExpectations(t)
}
@@ -516,7 +516,7 @@ func TestRouter_AcceptPeers_ErrorEOF(t *testing.T) {
require.NoError(t, router.Start(ctx))
time.Sleep(time.Second)
require.NoError(t, router.Stop())
router.Stop()
mockTransport.AssertExpectations(t)
}
@@ -573,7 +573,7 @@ func TestRouter_AcceptPeers_HeadOfLineBlocking(t *testing.T) {
close(closeCh)
time.Sleep(100 * time.Millisecond)
require.NoError(t, router.Stop())
router.Stop()
mockTransport.AssertExpectations(t)
mockConnection.AssertExpectations(t)
}
@@ -687,7 +687,7 @@ func TestRouter_DialPeers(t *testing.T) {
}
}
require.NoError(t, router.Stop())
router.Stop()
mockTransport.AssertExpectations(t)
mockConnection.AssertExpectations(t)
})
@@ -778,7 +778,7 @@ func TestRouter_DialPeers_Parallel(t *testing.T) {
close(closeCh)
time.Sleep(500 * time.Millisecond)
require.NoError(t, router.Stop())
router.Stop()
mockTransport.AssertExpectations(t)
mockConnection.AssertExpectations(t)
}
@@ -845,7 +845,7 @@ func TestRouter_EvictPeers(t *testing.T) {
Status: p2p.PeerStatusDown,
})
require.NoError(t, router.Stop())
router.Stop()
mockTransport.AssertExpectations(t)
mockConnection.AssertExpectations(t)
}
@@ -895,7 +895,7 @@ func TestRouter_ChannelCompatability(t *testing.T) {
require.NoError(t, err)
require.NoError(t, router.Start(ctx))
time.Sleep(1 * time.Second)
require.NoError(t, router.Stop())
router.Stop()
require.Empty(t, peerManager.Peers())
mockConnection.AssertExpectations(t)
@@ -964,6 +964,6 @@ func TestRouter_DontSendOnInvalidChannel(t *testing.T) {
Message: &p2ptest.Message{Value: "Hi"},
}))
require.NoError(t, router.Stop())
router.Stop()
mockTransport.AssertExpectations(t)
}
+3 -2
View File
@@ -478,12 +478,13 @@ func (c *mConnConnection) RemoteEndpoint() Endpoint {
func (c *mConnConnection) Close() error {
var err error
c.closeOnce.Do(func() {
defer close(c.doneCh)
if c.mconn != nil && c.mconn.IsRunning() {
err = c.mconn.Stop()
c.mconn.Stop()
} else {
err = c.conn.Close()
}
close(c.doneCh)
})
return err
}