#!/bin/sh /etc/rc.common
#
# Copyright (C) 2018 rosysong@rosinson.com
#

. /lib/nft-qos/core.sh
. /lib/nft-qos/monitor.sh
. /lib/nft-qos/dynamic.sh
. /lib/nft-qos/static.sh
. /lib/nft-qos/priority.sh

START=99
USE_PROCD=1

service_triggers() {
	procd_add_reload_trigger nft-qos

	procd_open_validate
	qosdef_validate_dynamic
	qosdef_validate_static
	qosdef_validate_priority
	procd_close_validate
}

start_service() {
	config_load nft-qos

	qosdef_init_env
	qosdef_flush_static
	qosdef_flush_dynamic
	qosdef_remove_priority

	qosdef_init_header
	qosdef_init_monitor
	qosdef_validate_dynamic default qosdef_init_dynamic
	qosdef_validate_static default qosdef_init_static
	qosdef_validate_priority default qosdef_init_priority
	qosdef_init_done
	qosdef_start
}

stop_service() {
	qosdef_flush_dynamic
	qosdef_flush_static
	qosdef_remove_priority
	qosdef_clean_cache
}