From f079fca10dfa31d7c7d2e74888d38496103f11e7 Mon Sep 17 00:00:00 2001
From: bhaan <bradleyrhaan@gmail.com>
Date: Wed, 29 Jun 2016 14:36:11 -0400
Subject: [PATCH] checks around HeartBtInt configuration

---
 initiator.go | 4 ++++
 session.go   | 6 +++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/initiator.go b/initiator.go
index dc3bc559..546dd734 100644
--- a/initiator.go
+++ b/initiator.go
@@ -75,6 +75,10 @@ func NewInitiator(app Application, storeFactory MessageStoreFactory, appSettings
 			return nil, requiredConfigurationMissing(config.SocketConnectPort)
 		}
 
+		if ok := s.HasSetting(config.HeartBtInt); !ok {
+			return nil, requiredConfigurationMissing(config.HeartBtInt)
+		}
+
 		err = createSession(sessionID, storeFactory, s, logFactory, app)
 		if err != nil {
 			return nil, err
diff --git a/session.go b/session.go
index 9ba76a56..47cfb471 100644
--- a/session.go
+++ b/session.go
@@ -107,8 +107,12 @@ func createSession(sessionID SessionID, storeFactory MessageStoreFactory, settin
 	}
 
 	if settings.HasSetting(config.HeartBtInt) {
-		if session.heartBtInt, err = settings.IntSetting(config.HeartBtInt); err != nil {
+		if heartBtInt, err := settings.IntSetting(config.HeartBtInt); err != nil {
 			return err
+		} else if heartBtInt <= 0 {
+			return fmt.Errorf("Heartbeat must be greater than zero")
+		} else {
+			session.heartBtInt = heartBtInt
 		}
 	}
 
-- 
GitLab