mirror of
https://github.com/buger/goreplay.git
synced 2024-04-21 12:32:02 +00:00
While by nature this methods should be way faster, for some reason this functions cause large cgo overhead and cause a lot of futex locks.
21 lines
417 B
Go
21 lines
417 B
Go
package capture
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/google/gopacket"
|
|
)
|
|
|
|
// Socket is any interface that defines the behaviors of Socket
|
|
type Socket interface {
|
|
ReadPacketData() ([]byte, gopacket.CaptureInfo, error)
|
|
WritePacketData([]byte) error
|
|
SetBPFFilter(string) error
|
|
SetPromiscuous(bool) error
|
|
SetSnapLen(int) error
|
|
GetSnapLen() int
|
|
SetTimeout(time.Duration) error
|
|
SetLoopbackIndex(i int32)
|
|
Close() error
|
|
}
|