roundrobin.go 720 B

123456789101112131415161718192021222324252627282930313233343536
  1. package balancer
  2. import (
  3. "context"
  4. "google.golang.org/grpc/balancer"
  5. "google.golang.org/grpc/balancer/base"
  6. "google.golang.org/grpc/resolver"
  7. )
  8. const (
  9. Name = "roundrobin"
  10. )
  11. func init() {
  12. balancer.Register(newBuilder())
  13. }
  14. type roundRobinPickerBuilder struct {
  15. }
  16. func newBuilder() balancer.Builder {
  17. return base.NewBalancerBuilder(Name, new(roundRobinPickerBuilder))
  18. }
  19. func (b *roundRobinPickerBuilder) Build(readySCs map[resolver.Address]balancer.SubConn) balancer.Picker {
  20. panic("implement me")
  21. }
  22. type roundRobinPicker struct {
  23. }
  24. func (p *roundRobinPicker) Pick(ctx context.Context, info balancer.PickInfo) (
  25. conn balancer.SubConn, done func(balancer.DoneInfo), err error) {
  26. panic("implement me")
  27. }