From c89d629943a4908e7d2180d2f590754d75cd5836 Mon Sep 17 00:00:00 2001 From: Shelikhoo Date: Tue, 7 Sep 2021 14:48:44 +0100 Subject: [PATCH] support more than one type for a config --- common/registry/registry.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/common/registry/registry.go b/common/registry/registry.go index d0199dc4f..0ebc764f3 100644 --- a/common/registry/registry.go +++ b/common/registry/registry.go @@ -19,7 +19,13 @@ type implementationRegistry struct { } func (i *implementationRegistry) RegisterImplementation(name string, opt *protoext.MessageOpt, loader CustomLoader) { - interfaceType := opt.GetType()[0] + interfaceType := opt.GetType() + for _, v := range interfaceType { + i.registerSingleImplementation(v, name, opt, loader) + } +} + +func (i *implementationRegistry) registerSingleImplementation(interfaceType, name string, opt *protoext.MessageOpt, loader CustomLoader) { implSet, found := i.implSet[interfaceType] if !found { implSet = newImplementationSet()