mirror of
https://github.com/TeaOSLab/EdgeCommon.git
synced 2025-11-03 20:40:25 +08:00
29 lines
561 B
Go
29 lines
561 B
Go
package scheduling
|
|
|
|
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
|
|
}
|