1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-11-09 11:51:02 -05:00
v2fly/common/environment/base.go
2021-09-05 16:37:26 +01:00

42 lines
961 B
Go

package environment
import (
"github.com/v2fly/v2ray-core/v4/common/log"
"github.com/v2fly/v2ray-core/v4/common/platform/filesystem/fsifce"
"github.com/v2fly/v2ray-core/v4/transport/internet"
"github.com/v2fly/v2ray-core/v4/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(callback interface{}) error
}
type LogCapabilitySet interface {
RecordLog(msg log.Message)
}
type FileSystemCapabilitySet interface {
OpenFileForReadSeek() fsifce.FileSeekerFunc
OpenFileForRead() fsifce.FileReaderFunc
OpenFileForWrite() fsifce.FileWriterFunc
}