summaryrefslogtreecommitdiffstats
path: root/src/go/collectors/go.d.plugin/agent/jobmgr/di.go
blob: 844e10c11321ddaeb0f256feb9edc35337f082bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// SPDX-License-Identifier: GPL-3.0-or-later

package jobmgr

import (
	"github.com/netdata/netdata/go/go.d.plugin/agent/confgroup"
	"github.com/netdata/netdata/go/go.d.plugin/agent/functions"
	"github.com/netdata/netdata/go/go.d.plugin/agent/vnodes"
)

type FileLocker interface {
	Lock(name string) (bool, error)
	Unlock(name string)
}

type FileStatus interface {
	Save(cfg confgroup.Config, state string)
	Remove(cfg confgroup.Config)
}

type FileStatusStore interface {
	Contains(cfg confgroup.Config, states ...string) bool
}

type Vnodes interface {
	Lookup(key string) (*vnodes.VirtualNode, bool)
}

type FunctionRegistry interface {
	Register(name string, reg func(functions.Function))
	Unregister(name string)
}

type dyncfgAPI interface {
	CONFIGCREATE(id, status, configType, path, sourceType, source, supportedCommands string)
	CONFIGDELETE(id string)
	CONFIGSTATUS(id, status string)
	FUNCRESULT(uid, contentType, payload, code, expireTimestamp string)
}