diff options
-rw-r--r-- | src/lib.go | 14 | ||||
-rw-r--r-- | tests/lib_test.go | 1 |
2 files changed, 5 insertions, 10 deletions
@@ -2,7 +2,6 @@ package binder import ( "fmt" - "io" "net" "os" "os/user" @@ -57,11 +56,6 @@ func isRunningAsRoot() bool { return os.Geteuid() == 0 } -func copyData(closer chan struct{}, from io.Reader, to io.Writer) { - io.Copy(to, from) - closer <- struct{}{} -} - func ParseArgs(args []string) CLIArgs { if len(args) != 3 { fmt.Fprintf( @@ -118,11 +112,11 @@ func Start(toAddr string, listener net.Listener) { } defer connTo.Close() - closer := make(chan struct{}, 2) - go copyData(closer, connFrom, connTo) - go copyData(closer, connTo, connFrom) + c := make(chan g.CopyResult) + go g.CopyData(c, "c2s", connFrom, connTo) + go g.CopyData(c, "s2c", connTo, connFrom) go func() { - <-closer + <- c EmitActiveConnection.Dec() }() } diff --git a/tests/lib_test.go b/tests/lib_test.go index a857510..4e63d06 100644 --- a/tests/lib_test.go +++ b/tests/lib_test.go @@ -8,6 +8,7 @@ import ( "euandre.org/binder/src" ) + func TestPlaceholder(t *testing.T) { g.AssertEqual(t, binder.USER, "nobody") } |