request.go 908 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package request
  2. import (
  3. "context"
  4. "github.com/v2fly/v2ray-core/v5/common/net"
  5. )
  6. type TransportClientAssembly interface {
  7. Tripper() Tripper
  8. AutoImplDialer() Dialer
  9. }
  10. type TransportClientAssemblyReceiver interface {
  11. OnTransportClientAssemblyReady(TransportClientAssembly)
  12. }
  13. type TransportServerAssembly interface {
  14. TripperReceiver() TripperReceiver
  15. SessionReceiver() SessionReceiver
  16. AutoImplListener() Listener
  17. }
  18. type TransportServerAssemblyReceiver interface {
  19. OnTransportServerAssemblyReady(TransportServerAssembly)
  20. }
  21. type SessionCreator interface {
  22. NewSession(ctx context.Context, opts ...SessionOption) (Session, error)
  23. }
  24. type SessionReceiver interface {
  25. OnNewSession(ctx context.Context, sess Session, opts ...SessionOption) error
  26. }
  27. type Dialer interface {
  28. Dial(ctx context.Context) (net.Conn, error)
  29. }
  30. type Listener interface {
  31. Listen(ctx context.Context) (net.Listener, error)
  32. }