2020-09-15 14:44:38 +08:00
|
|
|
package schedulingconfigs
|
2020-09-13 19:27:47 +08:00
|
|
|
|
|
|
|
|
import "github.com/iwind/TeaGo/maps"
|
|
|
|
|
|
|
|
|
|
// 所有请求类型
|
|
|
|
|
func AllSchedulingTypes() []maps.Map {
|
|
|
|
|
types := []maps.Map{}
|
|
|
|
|
for _, s := range []SchedulingInterface{
|
|
|
|
|
new(RandomScheduling),
|
|
|
|
|
new(RoundRobinScheduling),
|
|
|
|
|
new(HashScheduling),
|
|
|
|
|
new(StickyScheduling),
|
|
|
|
|
} {
|
|
|
|
|
summary := s.Summary()
|
|
|
|
|
summary["instance"] = s
|
|
|
|
|
types = append(types, summary)
|
|
|
|
|
}
|
|
|
|
|
return types
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func FindSchedulingType(code string) maps.Map {
|
|
|
|
|
for _, summary := range AllSchedulingTypes() {
|
|
|
|
|
if summary["code"] == code {
|
|
|
|
|
return summary
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return nil
|
|
|
|
|
}
|