|
|
- #!/bin/sh /etc/rc.common
- # Copyright (C) 2015 OpenWrt.org
- # Copyright (C) 2020 Nishant Sharma <nishant@hopbox.in>
-
- START=89
- STOP=11
-
- USE_PROCD=1
- PROG=/usr/bin/udpspeeder
-
- validate_udpspeeder_section() {
- uci_validate_section udpspeeder udpspeeder "${1}" \
- 'enabled:bool:0' \
- 'server:bool:0' \
- 'mode:integer:0' \
- 'mtu:integer:1250' \
- 'timeout:integer:8' \
- 'local:string' \
- 'remote:string' \
- 'report:integer:10' \
- 'disable_obscure:bool:0' \
- 'interval:integer:0' \
- 'fec:string:20:10' \
- 'disable_fec:bool:0' \
- 'sock_buf:integer:1024' \
- 'log_level:integer:4' \
- 'decode_buf:integer:2000' \
- 'fix_latency:bool:0' \
- 'queue_len:integer:200'
- }
-
- start_instance() {
-
- local section="$1"
-
- local server mode mtu timeout local remote report disable_obscure fifo interval fec disable_fec sock_buf queue_len \
- decode_buf sock_buf log_level enabled
-
- fifo="/tmp/udpspeeder-${section}.fifo"
-
- validate_udpspeeder_section $section || {
- echo "validation failed"
- return 1
- }
-
- if [ "${enabled}" -ne 1 ]
- then
- return 1
- fi
-
- procd_open_instance
- procd_set_param respawn
- procd_set_param stderr 1
- procd_set_param stdout 1
-
- procd_set_param command "${PROG}"
-
- if [ "${server}" -eq 1 ]
- then
- procd_append_param command -s
- else
- procd_append_param command -c
- fi
-
- if [ "${disable_fec}" -eq 1 ]
- then
- procd_append_param command --disable-fec
- else
- procd_append_param command --fec "${fec}"
- fi
-
- if [ "${fix_latency}" -eq 1 ] && [ "${mode}" -eq 0 ]
- then
- procd_append_param command --fix-latency
- fi
-
- if [ "${disable_obscure}" -eq 1 ]
- then
- procd_append_param command --disable-obscure
- fi
-
- procd_append_param command -l "${local}"
- procd_append_param command -r "${remote}"
- procd_append_param command --mode "${mode}"
- procd_append_param command --report "${report}"
- procd_append_param command --interval "${interval}"
- procd_append_param command --mtu "${mtu}"
- procd_append_param command --sock-buf "${sock_buf}"
- procd_append_param command --decode-buf "${decode_buf}"
- procd_append_param command --queue-len "${queue_len}"
- procd_append_param command --log-level "${log_level}"
- procd_append_param command --fifo "${fifo}"
-
- # procd_set_param respawn ${respawn_threshold:-3600} ${respawn_timeout:-5} ${respawn_retry:-5}
- procd_close_instance
- }
-
- start_service() {
-
- config_load 'udpspeeder'
- config_foreach start_instance 'udpspeeder'
-
- }
-
- stop_service()
- {
- service_stop ${PROG}
- }
-
- service_triggers()
- {
- procd_add_reload_trigger "udpspeeder"
- procd_add_validation validate_udpspeeder_section
- }
|