|  | @@ -295,28 +295,21 @@ func (this *Server) transport(reader io.Reader, writer io.Writer, session *proxy
 | 
											
												
													
														|  |  	input := ray.InboundInput()
 |  |  	input := ray.InboundInput()
 | 
											
												
													
														|  |  	output := ray.InboundOutput()
 |  |  	output := ray.InboundOutput()
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -	var inputFinish, outputFinish sync.Mutex
 |  | 
 | 
											
												
													
														|  | -	inputFinish.Lock()
 |  | 
 | 
											
												
													
														|  | -	outputFinish.Lock()
 |  | 
 | 
											
												
													
														|  | 
 |  | +	defer input.Close()
 | 
											
												
													
														|  | 
 |  | +	defer output.Release()
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  	go func() {
 |  |  	go func() {
 | 
											
												
													
														|  |  		v2reader := v2io.NewAdaptiveReader(reader)
 |  |  		v2reader := v2io.NewAdaptiveReader(reader)
 | 
											
												
													
														|  |  		defer v2reader.Release()
 |  |  		defer v2reader.Release()
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  		v2io.Pipe(v2reader, input)
 |  |  		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{}
 |  |  type ServerFactory struct{}
 |