vray.go 628 B

123456789101112131415161718192021222324252627282930313233343536
  1. package core
  2. type VRay struct {
  3. Input chan []byte
  4. Output chan []byte
  5. }
  6. func NewVRay() VRay {
  7. return VRay{make(chan []byte, 128), make(chan []byte, 128)}
  8. }
  9. type OutboundVRay interface {
  10. OutboundInput() <-chan []byte
  11. OutboundOutput() chan<- []byte
  12. }
  13. type InboundVRay interface {
  14. InboundInput() chan<- []byte
  15. InboundOutput() <-chan []byte
  16. }
  17. func (ray VRay) OutboundInput() <-chan []byte {
  18. return ray.Input
  19. }
  20. func (ray VRay) OutboundOutput() chan<- []byte {
  21. return ray.Output
  22. }
  23. func (ray VRay) InboundInput() chan<- []byte {
  24. return ray.Input
  25. }
  26. func (ray VRay) InboundOutput() <-chan []byte {
  27. return ray.Output
  28. }