add chain group

This commit is contained in:
ginuerzh
2022-09-02 10:54:42 +08:00
parent e77908a89e
commit b88ab3acdc
7 changed files with 286 additions and 143 deletions

View File

@ -4,17 +4,17 @@ type Admission interface {
Admit(addr string) bool
}
type admissionList struct {
type admissionGroup struct {
admissions []Admission
}
func AdmissionList(admissions ...Admission) Admission {
return &admissionList{
func AdmissionGroup(admissions ...Admission) Admission {
return &admissionGroup{
admissions: admissions,
}
}
func (p *admissionList) Admit(addr string) bool {
func (p *admissionGroup) Admit(addr string) bool {
for _, admission := range p.admissions {
if admission != nil && !admission.Admit(addr) {
return false