diff --git a/htlcswitch/interfaces.go b/htlcswitch/interfaces.go index 51a5146e..8086624a 100644 --- a/htlcswitch/interfaces.go +++ b/htlcswitch/interfaces.go @@ -111,8 +111,11 @@ type ChannelLink interface { // Peer is an interface which represents the remote lightning node inside our // system. type Peer interface { - // SendMessage sends message to remote peer. - SendMessage(lnwire.Message) error + // SendMessage sends message to remote peer. The second arguments + // denote if the method should block until the message has been sent to + // the remote peer. If set, this allows the caller to more strongly + // synchronize. + SendMessage(msg lnwire.Message, sync bool) error // WipeChannel removes the channel uniquely identified by its channel // point from all indexes associated with the peer. diff --git a/htlcswitch/link_test.go b/htlcswitch/link_test.go index 84f20953..95f11d0f 100644 --- a/htlcswitch/link_test.go +++ b/htlcswitch/link_test.go @@ -1392,7 +1392,7 @@ type mockPeer struct { quit chan struct{} } -func (m *mockPeer) SendMessage(msg lnwire.Message) error { +func (m *mockPeer) SendMessage(msg lnwire.Message, sync bool) error { select { case m.sentMsgs <- msg: case <-m.quit: diff --git a/htlcswitch/mock.go b/htlcswitch/mock.go index 658b636e..42c1843c 100644 --- a/htlcswitch/mock.go +++ b/htlcswitch/mock.go @@ -447,7 +447,7 @@ func (s *mockServer) intersect(f messageInterceptor) { s.interceptorFuncs = append(s.interceptorFuncs, f) } -func (s *mockServer) SendMessage(message lnwire.Message) error { +func (s *mockServer) SendMessage(message lnwire.Message, sync bool) error { select { case s.messages <- message: