waitEnd = (client, ms) => {
                return new Promise( (resolve, reject) => {
                    node.closing = true;
                    if (!client) {
                        resolve();
                    } else {
                        const t = setTimeout(() => {
                            //clean end() has exceeded WAIT_END, lets force end!
                            client && client.end(true);
                            resolve();
                        }, ms);
                        client.end(() => {
                            clearTimeout(t);
                            resolve()
                        });
                    }
                });
            }
Call end and wait for the client to end (or timeout)
@param {mqtt.MqttClient} client The broker client
@param {number} ms The time to wait for the client to end
@returns