func()

in model/model_experiment_room.go [32:66]


func (e *ExperimentRoom) Init() error {
	//  deal ExpRoomBuckets
	//e.diversionBucket = NewDiversionBucket(e.Type)
	if e.diversionBucket == nil {
		if e.BucketType == common.Bucket_Type_UID {
			e.diversionBucket = NewUidDiversionBucket(int(e.BucketCount), e.ExpRoomBuckets)
		} else if e.BucketType == common.Bucket_Type_UID_HASH {
			e.diversionBucket = NewUidHashDiversionBucket(int(e.BucketCount), e.ExpRoomBuckets)
		} else if e.BucketType == common.Bucket_Type_Filter {
			diversionBucket, err := NewFilterDiversionBucket(e.Filter)
			if err != nil {
				return err
			}
			e.diversionBucket = diversionBucket
		} else if e.BucketType == common.Bucket_Type_Custom {
			e.diversionBucket = NewCustomDiversionBucket()
		}

	}
	// deal DebugUsers
	e.debugUserMap = make(map[string]bool, 0)
	if e.DebugUsers != "" {
		uids := strings.Split(e.DebugUsers, ",")
		for _, uid := range uids {
			e.debugUserMap[uid] = true
		}
	}
	if len(e.DebugCrowdIdUsers) != 0 {
		for _, user := range e.DebugCrowdIdUsers {
			e.debugUserMap[user] = true
		}
	}

	return nil
}