core/admission/admission.go
2022-08-23 21:46:27 +08:00

25 lines
421 B
Go

package admission
type Admission interface {
Admit(addr string) bool
}
type admissionList struct {
admissions []Admission
}
func AdmissionList(admissions ...Admission) Admission {
return &admissionList{
admissions: admissions,
}
}
func (p *admissionList) Admit(addr string) bool {
for _, admission := range p.admissions {
if admission != nil && !admission.Admit(addr) {
return false
}
}
return true
}