base.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package environment
  2. import (
  3. "github.com/v2fly/v2ray-core/v5/common/environment/filesystemcap"
  4. "github.com/v2fly/v2ray-core/v5/common/log"
  5. "github.com/v2fly/v2ray-core/v5/features/extension/storage"
  6. "github.com/v2fly/v2ray-core/v5/transport/internet"
  7. "github.com/v2fly/v2ray-core/v5/transport/internet/tagged"
  8. )
  9. type BaseEnvironmentCapabilitySet interface {
  10. FeaturesLookupCapabilitySet
  11. LogCapabilitySet
  12. }
  13. type BaseEnvironment interface {
  14. BaseEnvironmentCapabilitySet
  15. doNotImpl()
  16. }
  17. type SystemNetworkCapabilitySet interface {
  18. Dialer() internet.SystemDialer
  19. Listener() internet.SystemListener
  20. }
  21. type InstanceNetworkCapabilitySet interface {
  22. OutboundDialer() tagged.DialFunc
  23. }
  24. type FeaturesLookupCapabilitySet interface {
  25. RequireFeatures(callback interface{}) error
  26. }
  27. type LogCapabilitySet interface {
  28. RecordLog(msg log.Message)
  29. }
  30. type FileSystemCapabilitySet interface {
  31. filesystemcap.FileSystemCapabilitySet
  32. }
  33. type PersistentStorageCapabilitySet interface {
  34. PersistentStorage() storage.ScopedPersistentStorage
  35. }
  36. type TransientStorageCapabilitySet interface {
  37. TransientStorage() storage.ScopedTransientStorage
  38. }