base.go 966 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package environment
  2. import (
  3. "github.com/v2fly/v2ray-core/v4/common/log"
  4. "github.com/v2fly/v2ray-core/v4/common/platform/filesystem"
  5. "github.com/v2fly/v2ray-core/v4/transport/internet"
  6. "github.com/v2fly/v2ray-core/v4/transport/internet/tagged"
  7. )
  8. type BaseEnvironmentCapabilitySet interface {
  9. FeaturesLookupCapabilitySet
  10. LogCapabilitySet
  11. }
  12. type BaseEnvironment interface {
  13. BaseEnvironmentCapabilitySet
  14. doNotImpl()
  15. }
  16. type SystemNetworkCapabilitySet interface {
  17. Dialer() internet.SystemDialer
  18. Listener() internet.SystemListener
  19. }
  20. type InstanceNetworkCapabilitySet interface {
  21. OutboundDialer() tagged.DialFunc
  22. }
  23. type FeaturesLookupCapabilitySet interface {
  24. RequireFeatures(callback interface{}) error
  25. }
  26. type LogCapabilitySet interface {
  27. RecordLog(msg log.Message)
  28. }
  29. type FileSystemCapabilitySet interface {
  30. OpenFileForReadSeek() filesystem.FileSeekerFunc
  31. OpenFileForRead() filesystem.FileReaderFunc
  32. OpenFileForWrite() filesystem.FileWriterFunc
  33. }