package container import ( "github.com/kataras/iris/core/router" "leit.com/LAPP_GAAS_GFrame/grmi/rpc" ) type ComponentContainer interface { Parse(perserInstance interface{}) error Errors() []string ServiceInfos() []InvokerInfo None() Invoker } func NewComponentContainer() ComponentContainer { return &DefaultComponentContainer{ errors: make([]string, 0, 100), serviceInfos: make([]InvokerInfo, 0, 100), none: NewNoneInvoker(), } } func Bind(container ComponentContainer, party router.Party) error { //rpc.RegisterHandler(party, "/Ping", builder.BuildServiceHandler(container.None())) for _, info := range container.ServiceInfos() { rpc.RegisterHandler(party, info.Path, info.Invoker) } return nil }