pkg/skoop/model/model.go (57 lines of code) (raw):

package model import "fmt" type Protocol string const ( TCP Protocol = "tcp" UDP Protocol = "udp" IPv4 Protocol = "ipv4" ) const ( SuspicionLevelInfo = iota SuspicionLevelWarning SuspicionLevelCritical SuspicionLevelFatal ) type EndpointType string const ( EndpointTypePod = "pod" EndpointTypeNode = "node" EndpointTypeService = "service" EndpointTypeLoadbalancer = "lb" EndpointTypeExternal = "external" ) type Endpoint struct { IP string `json:"ip"` Type EndpointType `json:"type"` Port uint16 `json:"port"` } func (e Endpoint) String() string { return fmt.Sprintf("[%s]%s:%d", e.Type, e.IP, e.Port) } type SuspicionLevel int type Hop struct { Type NetNodeType ID string } type Transmission struct { NextHop Hop Link *Link } func (s SuspicionLevel) String() string { switch int(s) { case SuspicionLevelInfo: return "INFO" case SuspicionLevelWarning: return "WARNING" case SuspicionLevelCritical: return "CRITICAL" case SuspicionLevelFatal: return "FATAL" default: return "" } } type Suspicion struct { Level SuspicionLevel Message string }