This commit is contained in:
Maximilian Moehl 2023-09-22 02:14:18 -07:00 committed by GitHub
commit 4cb189669e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 15 additions and 5 deletions

20
conn.go
View File

@ -230,13 +230,23 @@ func (cc *Conn) Flush() error {
return fmt.Errorf("SendMessages: %w", err) return fmt.Errorf("SendMessages: %w", err)
} }
// Fetch the requested acknowledgement for each message we sent. // Fetch the requested acknowledgement and echo for each message we sent.
for _, msg := range cc.messages { for _, msg := range cc.messages {
if msg.Header.Flags&netlink.Acknowledge == 0 { var expectedResponses int
continue // message did not request an acknowledgement if msg.Header.Flags&netlink.Acknowledge != 0 {
expectedResponses++
} }
if _, err := conn.Receive(); err != nil { if msg.Header.Flags&netlink.Echo != 0 {
return fmt.Errorf("conn.Receive: %w", err) expectedResponses++
}
for i := 0; i < expectedResponses; {
responses, err := conn.Receive()
if err != nil {
return fmt.Errorf("conn.Receive: %w", err)
}
i += len(responses)
} }
} }