-
Notifications
You must be signed in to change notification settings - Fork 0
/
capability.go
21 lines (17 loc) · 678 Bytes
/
capability.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package exu
type CapabilityStatus int
const (
// CapabilityStatusPass means the request was not handled by the capability
// and should be passed to the next capability
CapabilityStatusPass CapabilityStatus = iota
// CapabilityStatusFail means the request was dropped by the capability
CapabilityStatusFail
// CapabilityStatusDone means the request was handled by the capability
CapabilityStatusDone
)
type Capability interface {
// HandleRequest handles a request and returns a status code
HandleRequest(port *VPort, data *EthernetFrame) CapabilityStatus
// Match returns true if the capability can handle the data
Match(port *VPort, data *EthernetFrame) bool
}