1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-09-29 15:26:29 -04:00

capability

This commit is contained in:
V2Ray 2015-10-01 16:10:40 +02:00
parent 4b31b898a0
commit 6a2df21727

36
capability.go Normal file
View File

@ -0,0 +1,36 @@
package core
type Capability byte
const (
TCPConnection = Capability(0x01)
UDPConnection = Capability(0x02)
)
type Capabilities interface {
HasCapability(cap Capability) bool
AddCapability(cap Capability)
}
type listCapabilities struct {
data []Capability
}
func NewCapabilites() Capabilities {
return &listCapabilities{
data: make([]Capability, 0, 16),
}
}
func (c *listCapabilities) HasCapability(cap Capability) bool {
for _, v := range c.data {
if v == cap {
return true
}
}
return false
}
func (c *listCapabilities) AddCapability(cap Capability) {
c.data = append(c.data, cap)
}