mirror of https://github.com/v2ray/v2ray-core
simplify socks transport
parent
bd4ca7b37f
commit
9b72d3cbd7
|
@ -295,28 +295,21 @@ func (this *Server) transport(reader io.Reader, writer io.Writer, session *proxy
|
|||
input := ray.InboundInput()
|
||||
output := ray.InboundOutput()
|
||||
|
||||
var inputFinish, outputFinish sync.Mutex
|
||||
inputFinish.Lock()
|
||||
outputFinish.Lock()
|
||||
defer input.Close()
|
||||
defer output.Release()
|
||||
|
||||
go func() {
|
||||
v2reader := v2io.NewAdaptiveReader(reader)
|
||||
defer v2reader.Release()
|
||||
|
||||
v2io.Pipe(v2reader, input)
|
||||
inputFinish.Unlock()
|
||||
input.Close()
|
||||
}()
|
||||
|
||||
go func() {
|
||||
v2writer := v2io.NewAdaptiveWriter(writer)
|
||||
defer v2writer.Release()
|
||||
v2writer := v2io.NewAdaptiveWriter(writer)
|
||||
defer v2writer.Release()
|
||||
|
||||
v2io.Pipe(output, v2writer)
|
||||
outputFinish.Unlock()
|
||||
output.Release()
|
||||
}()
|
||||
outputFinish.Lock()
|
||||
v2io.Pipe(output, v2writer)
|
||||
output.Release()
|
||||
}
|
||||
|
||||
type ServerFactory struct{}
|
||||
|
|
Loading…
Reference in New Issue