GAAS 广汽安道拓GFrame金属件MOM项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
739 B

  1. package container
  2. import (
  3. "github.com/kataras/iris/core/router"
  4. "leit.com/LAPP_GAAS_GFrame/grmi/rpc"
  5. )
  6. type ComponentContainer interface {
  7. Parse(perserInstance interface{}) error
  8. Errors() []string
  9. ServiceInfos() []InvokerInfo
  10. None() Invoker
  11. }
  12. func NewComponentContainer() ComponentContainer {
  13. return &DefaultComponentContainer{
  14. errors: make([]string, 0, 100),
  15. serviceInfos: make([]InvokerInfo, 0, 100),
  16. none: NewNoneInvoker(),
  17. }
  18. }
  19. func Bind(container ComponentContainer, party router.Party) error {
  20. //rpc.RegisterHandler(party, "/Ping", builder.BuildServiceHandler(container.None()))
  21. for _, info := range container.ServiceInfos() {
  22. rpc.RegisterHandler(party, info.Path, info.Invoker)
  23. }
  24. return nil
  25. }