add sniffer utility
This commit is contained in:
@@ -3,6 +3,7 @@ package net
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"io"
|
||||
"net"
|
||||
"runtime"
|
||||
"strings"
|
||||
@@ -96,3 +97,25 @@ func (lc *ListenConfig) ListenPacket(ctx context.Context, network, address strin
|
||||
}
|
||||
return lc.ListenConfig.ListenPacket(ctx, network, address)
|
||||
}
|
||||
|
||||
type readWriteConn struct {
|
||||
net.Conn
|
||||
r io.Reader
|
||||
w io.Writer
|
||||
}
|
||||
|
||||
func NewReadWriteConn(r io.Reader, w io.Writer, c net.Conn) net.Conn {
|
||||
return &readWriteConn{
|
||||
Conn: c,
|
||||
r: r,
|
||||
w: w,
|
||||
}
|
||||
}
|
||||
|
||||
func (c *readWriteConn) Read(p []byte) (int, error) {
|
||||
return c.r.Read(p)
|
||||
}
|
||||
|
||||
func (c *readWriteConn) Write(p []byte) (int, error) {
|
||||
return c.w.Write(p)
|
||||
}
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
package net
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"io"
|
||||
"net"
|
||||
|
||||
"github.com/go-gost/core/common/bufpool"
|
||||
)
|
||||
@@ -36,19 +34,3 @@ func CopyBuffer(dst io.Writer, src io.Reader, bufSize int) error {
|
||||
_, err := io.CopyBuffer(dst, src, buf)
|
||||
return err
|
||||
}
|
||||
|
||||
type bufferReaderConn struct {
|
||||
net.Conn
|
||||
br *bufio.Reader
|
||||
}
|
||||
|
||||
func NewBufferReaderConn(conn net.Conn, br *bufio.Reader) net.Conn {
|
||||
return &bufferReaderConn{
|
||||
Conn: conn,
|
||||
br: br,
|
||||
}
|
||||
}
|
||||
|
||||
func (c *bufferReaderConn) Read(b []byte) (int, error) {
|
||||
return c.br.Read(b)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user