constructor(opts) {
		this.Promise = Promise; // while `init` is not called

		this.opts = _.defaultsDeep({}, opts, {
			heartbeatInterval: null,
			heartbeatTimeout: null,

			disableHeartbeatChecks: false,
			disableOfflineNodeRemoving: false,
			cleanOfflineNodesTimeout: 10 * 60 // 10 minutes
		});

		// Timer variables
		this.heartbeatTimer = null;
		this.checkNodesTimer = null;
		this.offlineTimer = null;

		// Pointer for the local `Node` instance
		this.localNode = null;
	}
Creates an instance of Discoverer.

@memberof BaseDiscoverer