mirror of
				https://github.com/TeaOSLab/EdgeCommon.git
				synced 2025-11-04 05:00:24 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			29 lines
		
	
	
		
			587 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			587 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package schedulingconfigs
 | 
						|
 | 
						|
import "github.com/iwind/TeaGo/maps"
 | 
						|
 | 
						|
// AllSchedulingTypes 所有请求类型
 | 
						|
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
 | 
						|
}
 |