| 123456789101112131415161718192021222324252627282930313233343536 | 
							- 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 NewCapabilities() 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)
 
- }
 
 
  |