     public var cleanSession: Bool = true
     public var keepAlive: UInt16 = 15
     public var useSSL: Bool = false
+	
+    public var timeout: TimeInterval = 1.0
     public var retryCount: Int = 3
     public var retryTimeInterval: TimeInterval = 1.0
+    public var resuscitateTimeInterval: TimeInterval = 5.0
 }
 
 public extension MQTTSession {

//

import Foundation

public protocol MQTTBatchingSessionDelegate: class {
    func mqttDidReceive(messages: [MQTTMessage], from session: MQTTBatchingSession)
    func mqttConnected(_ changed: Bool, for: MQTTBatchingSession, error: Error?)
}


    public func disconnect() {
        self.session = nil
        issueQueue.async {
            self.delegate?.mqttConnected(false, for: self, error: nil)
        }
    }
}
