| 12345678910111213141516171819202122232425262728 | package testingimport (	v2net "github.com/v2ray/v2ray-core/common/net"	"github.com/v2ray/v2ray-core/transport/ray")type TestPacketDispatcher struct {	LastPacket v2net.Packet	Handler    func(packet v2net.Packet, traffic ray.OutboundRay)}func (this *TestPacketDispatcher) DispatchToOutbound(packet v2net.Packet) ray.InboundRay {	traffic := ray.NewRay()	this.LastPacket = packet	if this.Handler == nil {		go func() {			for payload := range traffic.OutboundInput() {				traffic.OutboundOutput() <- payload.Prepend([]byte("Processed: "))			}			close(traffic.OutboundOutput())		}()	} else {		go this.Handler(packet, traffic)	}	return traffic}
 |