From 145d78b2711aa7f8d69ecd64cec31e377ad6bb49 Mon Sep 17 00:00:00 2001 From: V2Ray Date: Sun, 20 Sep 2015 21:21:55 +0200 Subject: [PATCH] refactor code --- proxy/freedom/freedom.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/proxy/freedom/freedom.go b/proxy/freedom/freedom.go index 3d965cbfe..a4a638288 100644 --- a/proxy/freedom/freedom.go +++ b/proxy/freedom/freedom.go @@ -31,24 +31,24 @@ func (vconn *FreedomConnection) Start(ray core.OutboundRay) error { readFinish := make(chan bool) writeFinish := make(chan bool) - go vconn.DumpInput(conn, input, writeFinish) - go vconn.DumpOutput(conn, output, readFinish) - go vconn.CloseConn(conn, readFinish, writeFinish) + go dumpInput(conn, input, writeFinish) + go dumpOutput(conn, output, readFinish) + go closeConn(conn, readFinish, writeFinish) return nil } -func (vconn *FreedomConnection) DumpInput(conn net.Conn, input <-chan []byte, finish chan<- bool) { +func dumpInput(conn net.Conn, input <-chan []byte, finish chan<- bool) { v2net.ChanToWriter(conn, input) - finish <- true + close(finish) } -func (vconn *FreedomConnection) DumpOutput(conn net.Conn, output chan<- []byte, finish chan<- bool) { +func dumpOutput(conn net.Conn, output chan<- []byte, finish chan<- bool) { v2net.ReaderToChan(output, conn) close(output) - finish <- true + close(finish) } -func (vconn *FreedomConnection) CloseConn(conn net.Conn, readFinish <-chan bool, writeFinish <-chan bool) { +func closeConn(conn net.Conn, readFinish <-chan bool, writeFinish <-chan bool) { <-writeFinish if tcpConn, ok := conn.(*net.TCPConn); ok { tcpConn.CloseWrite()