| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | package coreimport (	"github.com/v2ray/v2ray-core/common/alloc")const (	bufferSize = 16)// Ray is an internal tranport channel bewteen inbound and outbound connection.type Ray struct {	Input  chan *alloc.Buffer	Output chan *alloc.Buffer}func NewRay() *Ray {	return &Ray{		Input:  make(chan *alloc.Buffer, bufferSize),		Output: make(chan *alloc.Buffer, bufferSize),	}}type OutboundRay interface {	OutboundInput() <-chan *alloc.Buffer	OutboundOutput() chan<- *alloc.Buffer}type InboundRay interface {	InboundInput() chan<- *alloc.Buffer	InboundOutput() <-chan *alloc.Buffer}func (ray *Ray) OutboundInput() <-chan *alloc.Buffer {	return ray.Input}func (ray *Ray) OutboundOutput() chan<- *alloc.Buffer {	return ray.Output}func (ray *Ray) InboundInput() chan<- *alloc.Buffer {	return ray.Input}func (ray *Ray) InboundOutput() <-chan *alloc.Buffer {	return ray.Output}
 |