@@ -109,6 +109,9 @@ func (c *Conn) Write(b []byte) (n int, err error) {
if err != nil {
return
}
+ if i != len(splitIndexes) {
+ time.Sleep(c.fallbackDelay)
+ }
@@ -9,6 +9,10 @@ import (
)
func writeAndWaitAck(ctx context.Context, conn *net.TCPConn, payload []byte, fallbackDelay time.Duration) error {
+ _, err := conn.Write(payload)
+ if err != nil {
+ return err
time.Sleep(fallbackDelay)
return nil
@@ -16,6 +16,9 @@ func writeAndWaitAck(ctx context.Context, conn *net.TCPConn, payload []byte, fal
err := winiphlpapi.WriteAndWaitAck(ctx, conn, payload)
if errors.Is(err, windows.ERROR_ACCESS_DENIED) {
+ if _, err := conn.Write(payload); err != nil {