Files

57 lines
1.0 KiB
Go
Raw Permalink Normal View History

2019-01-02 01:55:51 +01:00
/* SPDX-License-Identifier: MIT
2018-05-03 15:04:00 +02:00
*
2025-05-04 17:48:53 +02:00
* Copyright (C) 2017-2025 WireGuard LLC. All Rights Reserved.
2018-05-03 15:04:00 +02:00
*/
2019-03-03 04:04:41 +01:00
package device
import (
"errors"
"golang.zx2c4.com/wireguard/conn"
)
type DummyDatagram struct {
msg []byte
endpoint conn.Endpoint
}
type DummyBind struct {
in6 chan DummyDatagram
in4 chan DummyDatagram
closed bool
}
func (b *DummyBind) SetMark(v uint32) error {
return nil
}
2023-03-13 17:55:05 +01:00
func (b *DummyBind) ReceiveIPv6(buf []byte) (int, conn.Endpoint, error) {
datagram, ok := <-b.in6
if !ok {
return 0, nil, errors.New("closed")
}
2023-03-13 17:55:05 +01:00
copy(buf, datagram.msg)
return len(datagram.msg), datagram.endpoint, nil
}
2023-03-13 17:55:05 +01:00
func (b *DummyBind) ReceiveIPv4(buf []byte) (int, conn.Endpoint, error) {
datagram, ok := <-b.in4
if !ok {
return 0, nil, errors.New("closed")
}
2023-03-13 17:55:05 +01:00
copy(buf, datagram.msg)
return len(datagram.msg), datagram.endpoint, nil
}
func (b *DummyBind) Close() error {
close(b.in6)
close(b.in4)
b.closed = true
return nil
}
2023-03-13 17:55:05 +01:00
func (b *DummyBind) Send(buf []byte, end conn.Endpoint) error {
return nil
}