1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-12-21 09:36:34 -05:00

allow fast close on UDP session. fix #682

This commit is contained in:
Darien Raymond 2017-11-04 20:50:17 +01:00
parent fde421ac58
commit cec45a416c

View File

@ -90,19 +90,17 @@ func (s *Server) processTCP(ctx context.Context, conn internet.Connection, dispa
}
if request.Command == protocol.RequestCommandUDP {
return s.handleUDP()
return s.handleUDP(conn)
}
return nil
}
func (*Server) handleUDP() error {
// The TCP connection closes after v method returns. We need to wait until
func (*Server) handleUDP(c net.Conn) error {
// The TCP connection closes after this method returns. We need to wait until
// the client closes it.
// TODO: get notified from UDP part
time.Sleep(5 * time.Minute)
return nil
_, err := io.Copy(buf.DiscardBytes, c)
return err
}
func (v *Server) transport(ctx context.Context, reader io.Reader, writer io.Writer, dest net.Destination, dispatcher dispatcher.Interface) error {