1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-11-10 14:26:26 -05:00
v2fly/common/environment/base.go
2022-04-28 19:32:55 +01:00

47 lines
1.0 KiB
Go

package environment
import (
"github.com/v2fly/v2ray-core/v5/common/environment/filesystemcap"
"github.com/v2fly/v2ray-core/v5/features/extension/storage"
"github.com/v2fly/v2ray-core/v5/transport/internet"
"github.com/v2fly/v2ray-core/v5/transport/internet/tagged"
)
type BaseEnvironmentCapabilitySet interface {
FeaturesLookupCapabilitySet
LogCapabilitySet
}
type BaseEnvironment interface {
BaseEnvironmentCapabilitySet
doNotImpl()
}
type SystemNetworkCapabilitySet interface {
Dialer() internet.SystemDialer
Listener() internet.SystemListener
}
type InstanceNetworkCapabilitySet interface {
OutboundDialer() tagged.DialFunc
}
type FeaturesLookupCapabilitySet interface {
RequireFeatures() interface{}
}
type LogCapabilitySet interface {
RecordLog() interface{}
}
type FileSystemCapabilitySet interface {
filesystemcap.FileSystemCapabilitySet
}
type PersistentStorageCapabilitySet interface {
PersistentStorage() storage.ScopedPersistentStorage
}
type TransientStorageCapabilitySet interface {
TransientStorage() storage.ScopedTransientStorage
}