From b2616d08172a677c081ba73c410ec0e6af93ccd7 Mon Sep 17 00:00:00 2001
From: ale <ale@incal.net>
Date: Sun, 28 Dec 2014 11:48:40 +0000
Subject: [PATCH] add flags for internal time constants

---
 node/node.go | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/node/node.go b/node/node.go
index 8311e1a1..e2d11b43 100644
--- a/node/node.go
+++ b/node/node.go
@@ -3,6 +3,7 @@ package node
 import (
 	"bytes"
 	"encoding/json"
+	"flag"
 	"log"
 	"net"
 	"os"
@@ -18,6 +19,9 @@ import (
 )
 
 var (
+	masterElectionTtl = flag.Int("master-election-ttl", 5, "TTL for the master election protocol (s)")
+	nodeHeartbeat     = flag.Int("heartbeat", 3, "Period for the node presence heartbeat (s)")
+
 	icecastReloadErrors = instrumentation.NewCounter("icecast.reload_errors")
 	icecastReloads      = instrumentation.NewCounter("icecast.reload")
 	configIndex         = instrumentation.NewGauge("config.etcd_index")
@@ -280,12 +284,12 @@ func NewRadioNode(name string, ips []net.IP, netDev string, bwLimit float64, cli
 			client,
 			autoradio.MasterElectionPath,
 			string(minfodata),
-			5,
+			uint64(*masterElectionTtl),
 			mech),
 		watcher:     newConfigSyncer(client, config, upch),
 		icecast:     NewIcecastController(name),
 		reloadDelay: 1000 * time.Millisecond,
-		heartbeat:   2,
+		heartbeat:   uint64(*nodeHeartbeat),
 		bw:          bwmonitor.NewBandwidthUsageMonitor(netDev, bwLimit),
 		upch:        upch,
 		stop:        stopch,
@@ -318,7 +322,7 @@ func (rc *RadioNode) presence(stop chan bool) {
 			var buf bytes.Buffer
 			json.NewEncoder(&buf).Encode(&nodeStatus)
 			if _, err := rc.client.Set(key, buf.String(), rc.heartbeat); err != nil {
-				rc.Log.Printf("presence: Set(): %s", err)
+				rc.Log.Printf("presence: Set(): %v", err)
 			}
 
 		case <-stop:
@@ -359,7 +363,7 @@ func (rc *RadioNode) updater(stop chan bool) {
 			rc.Log.Printf("reloading icecast config")
 			if err := rc.icecast.Update(rc.config, rc.me.IsMaster(), rc.getMasterAddr()); err != nil {
 				icecastReloadErrors.Incr()
-				rc.Log.Printf("Update(): %s", err)
+				rc.Log.Printf("Update(): %v", err)
 			}
 
 			// Limit the rate of icecast reloads.
-- 
GitLab