github.com/aporeto-inc/trireme-lib@v10.358.0+incompatible/controller/internal/enforcer/nfqdatapath/test_utils_linux.go (about)

     1  // +build linux
     2  
     3  package nfqdatapath
     4  
     5  import (
     6  	"net"
     7  	"sync"
     8  
     9  	"github.com/ghedo/go.pkt/packet"
    10  )
    11  
    12  type fakeConn struct {
    13  	b []byte
    14  
    15  	sync.RWMutex
    16  }
    17  
    18  func (f *fakeConn) Close() error {
    19  	return nil
    20  }
    21  
    22  func (f *fakeConn) Write(b []byte) (int, error) {
    23  	f.Lock()
    24  	defer f.Unlock()
    25  
    26  	f.b = b
    27  	return len(b), nil
    28  }
    29  
    30  func (f *fakeConn) data() []byte {
    31  	f.RLock()
    32  	defer f.RUnlock()
    33  
    34  	return f.b
    35  }
    36  
    37  func (f *fakeConn) ConstructWirePacket(srcIP, dstIP net.IP, transport packet.Packet, payload packet.Packet) ([]byte, error) {
    38  	return packLayers(srcIP, dstIP, transport, payload)
    39  }