1#!/bin/sh
2
3. ${STREAMBOOST_CFGDIR:-/etc/appflow}/rc.appflow
4
5# standard settings - accept overrides from the calling environment
6[ -z "$KROUTER_DEBUG_FILE" ] && KROUTER_DEBUG_FILE="/etc/krouter_debug"
7BINARY="blockman"
8export RUNDIR BINDIR BINARY
9
10# configuration items
11DAEMON_BIN="${BINDIR}/${BINARY}"
12DISPLAY_NAME="Blockman"
13PIDFILE="${RUNDIR}/${BINARY}.pid"
14REDIS_PORT=6379
15REDIS_HOST=127.0.0.1
16REDIS_UNIXSOCK=/var/run/appflow/redis.sock
17REDIS_TIMEOUT=3000
18FLOWMAN_LOG_LEVEL=6
19
20# Format the command line parameters
21OPTIONS_REDIS="--redis-unixsocket=$REDIS_UNIXSOCK --redis-timeout=$REDIS_TIMEOUT"
22OPTIONS_DAEMON="--daemon --use-syslog --pid-file=$PIDFILE"
23OPTIONS_LOG="--log-level=$FLOWMAN_LOG_LEVEL"
24OPTIONS_ALL="$OPTIONS_REDIS $OPTIONS_DAEMON $OPTIONS_LOG"
25OPTIONS_DEBUG="--no-daemon --log-level=7 --no-syslog"
26
27start() {
28	echo -n "Starting ${DISPLAY_NAME}: "
29	start-stop-daemon -S -q -p $PIDFILE -x $DAEMON_BIN -- $OPTIONS_ALL "$@"
30	retval=$?
31	echo
32	return ${retval}
33}
34
35debug() {
36	[ ! -d "$RUNDIR" ] && {
37		mkdir -p $RUNDIR
38	}
39
40	echo -n "Running ${DISPLAY_NAME} in debug mode: "
41	$DAEMON_BIN -- $OPTIONS_ALL $OPTIONS_DEBUG "$@"
42	retval=$?
43	echo
44	return ${retval}
45}
46
47boot() {
48	[ ! -d "$RUNDIR" ] && {
49		mkdir -p $RUNDIR
50	}
51
52	if [ -n "$KROUTER_DEBUG_FILE" ] && [ -e "$KROUTER_DEBUG_FILE" ]; then
53		# debug file is present
54		echo "$DISPLAY_NAME: booting in debug mode"
55		start $OPTIONS_DEBUG "$@"
56	else
57		start "$@"
58	fi
59}
60
61restart() {
62	stop
63	start
64}
65
66action() {
67	action=${1:-boot}
68	shift
69
70	case "${action}" in
71		boot|init)
72			boot "$@"
73			;;
74		start|stop|restart|status|debug)
75			${action} "$@"
76			;;
77		*)
78			echo "Usage: $0 start|boot|stop|restart|status|debug"
79			exit 1
80	esac
81}
82
83action "$@"
84exit $?
85