INNER CODE UNIT · Go
implements
gliderlabs/registrator · bridge/extpoints.go:75
func implements(component interface{}) []string {
var ifaces []string
for name, ep := range registry.extpoints {
if reflect.TypeOf(component).Implements(ep.iface) {
ifaces = append(ifaces, name)
}
}
return ifaces
}
func Register(component interface{}, name string) []string {
registry.Lock()
defer registry.Unlock()
var ifaces []string
for _, iface := range implements(component) {
if ok := registry.extpoints[iface].register(component, name); ok {
ifaces = append(ifaces, iface)
}