/*
 *
 *  * Copyright (c) 2024 China Unicom Digital Technology Co., Ltd.
 *  * openFuyao is licensed under Mulan PSL v2.
 *  * You can use this software according to the terms and conditions of the Mulan PSL v2.
 *  * You may obtain a copy of Mulan PSL v2 at:
 *  *          http://license.coscl.org.cn/MulanPSL2
 *  * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
 *  * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
 *  * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
 *  * See the Mulan PSL v2 for more details.
 *
 */

package utils

var (
	cacheSyncChan = make(chan struct{}, 3)
)

// NotifySyncDone is used to notify the cache sync is done
func NotifySyncDone() {
	cacheSyncChan <- struct{}{}
	cacheSyncChan <- struct{}{}
	cacheSyncChan <- struct{}{}
	close(cacheSyncChan)
}

// WaitCacheSync is used to wait the cache sync is done
func WaitCacheSync() {
	<-cacheSyncChan
}