aboutsummaryrefslogtreecommitdiff
path: root/plugin/metrics/addr.go
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/metrics/addr.go')
-rw-r--r--plugin/metrics/addr.go52
1 files changed, 0 insertions, 52 deletions
diff --git a/plugin/metrics/addr.go b/plugin/metrics/addr.go
deleted file mode 100644
index fe8e5e5fe..000000000
--- a/plugin/metrics/addr.go
+++ /dev/null
@@ -1,52 +0,0 @@
-package metrics
-
-// addrs keeps track on which addrs we listen, so we only start one listener, is
-// prometheus is used in multiple Server Blocks.
-type addrs struct {
- a map[string]value
-}
-
-type value struct {
- state int
- f func() error
-}
-
-var uniqAddr addrs
-
-func newAddress() addrs {
- return addrs{a: make(map[string]value)}
-}
-
-func (a addrs) setAddress(addr string, f func() error) {
- if a.a[addr].state == done {
- return
- }
- a.a[addr] = value{todo, f}
-}
-
-// setAddressTodo sets addr to 'todo' again.
-func (a addrs) setAddressTodo(addr string) {
- v, ok := a.a[addr]
- if !ok {
- return
- }
- v.state = todo
- a.a[addr] = v
-}
-
-// forEachTodo iterates for a and executes f for each element that is 'todo' and sets it to 'done'.
-func (a addrs) forEachTodo() error {
- for k, v := range a.a {
- if v.state == todo {
- v.f()
- }
- v.state = done
- a.a[k] = v
- }
- return nil
-}
-
-const (
- todo = 1
- done = 2
-)