Remove bundles from API
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
This commit is contained in:
parent
1dc5d652ac
commit
ab8586b7c5
48 changed files with 3287 additions and 5946 deletions
70
event.go
Normal file
70
event.go
Normal file
|
@ -0,0 +1,70 @@
|
|||
package containerd
|
||||
|
||||
import "time"
|
||||
|
||||
type EventType int
|
||||
|
||||
func (t EventType) String() string {
|
||||
switch t {
|
||||
case ExitEvent:
|
||||
return "exit"
|
||||
case PausedEvent:
|
||||
return "paused"
|
||||
case CreateEvent:
|
||||
return "create"
|
||||
case StartEvent:
|
||||
return "start"
|
||||
case OOMEvent:
|
||||
return "oom"
|
||||
case ExecAddEvent:
|
||||
return "execAdd"
|
||||
}
|
||||
return "unknown"
|
||||
}
|
||||
|
||||
const (
|
||||
ExitEvent EventType = iota + 1
|
||||
PausedEvent
|
||||
CreateEvent
|
||||
StartEvent
|
||||
OOMEvent
|
||||
ExecAddEvent
|
||||
)
|
||||
|
||||
type Event struct {
|
||||
Timestamp time.Time
|
||||
Type EventType
|
||||
Runtime string
|
||||
ID string
|
||||
Pid uint32
|
||||
ExitStatus uint32
|
||||
}
|
||||
|
||||
type EventWriter interface {
|
||||
Write(*Event) error
|
||||
}
|
||||
|
||||
type EventFilter func(*Event) bool
|
||||
|
||||
// NewFilterEventWriter returns an EventWriter that runs the provided filters on the events.
|
||||
// If all the filters pass then the event is written to the wrapped EventWriter
|
||||
func NewFilterEventWriter(w EventWriter, filters ...EventFilter) EventWriter {
|
||||
return &filteredEventWriter{
|
||||
w: w,
|
||||
filters: filters,
|
||||
}
|
||||
}
|
||||
|
||||
type filteredEventWriter struct {
|
||||
w EventWriter
|
||||
filters []EventFilter
|
||||
}
|
||||
|
||||
func (f *filteredEventWriter) Write(e *Event) error {
|
||||
for _, filter := range f.filters {
|
||||
if !filter(e) {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
return f.w.Write(e)
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue