yanic/database/database.go

32 lines
649 B
Go
Raw Normal View History

2016-10-03 17:55:37 +00:00
package database
import (
"time"
"github.com/FreifunkBremen/yanic/runtime"
2016-10-03 17:55:37 +00:00
)
// Connection interface to use for implementation in e.g. influxdb
type Connection interface {
// AddNode data for a single node
AddNode(nodeID string, node *runtime.Node)
AddStatistics(stats *runtime.GlobalStats, time time.Time)
DeleteNode(deleteAfter time.Duration)
2016-10-03 17:55:37 +00:00
Close()
2016-10-03 17:55:37 +00:00
}
2016-12-15 08:52:12 +00:00
// Connect function with config to get DB connection interface
type Connect func(config interface{}) (Connection, error)
2016-10-03 17:55:37 +00:00
/*
* for selfbinding in use of the package all
*/
2016-10-03 17:55:37 +00:00
var Adapters = map[string]Connect{}
2016-10-03 17:55:37 +00:00
func AddDatabaseType(name string, n Connect) {
Adapters[name] = n
2016-10-03 17:55:37 +00:00
}