disconnect() {
		this.connectionCount = 0;

		if (this.connection && this.channel && this.bindings) {
			return this.broker.Promise.all(
				this.bindings.map(binding => this.channel.unbindQueue(...binding))
			)
				.then(() => {
					this.channelDisconnecting = this.transit.disconnecting;
					this.connectionDisconnecting = this.transit.disconnecting;
				})
				.then(() => this.channel.close())
				.then(() => this.connection.close())
				.then(() => {
					this.bindings = [];
					this.channel = null;
					this.connection = null;
				})
				.catch(err => this.logger.warn(err));
		}
	}
Disconnect from an AMQP server

@memberof AmqpTransporter
@description Close the connection and unbind this node's queues.
This prevents messages from being broadcasted to a dead node.
Note: Some methods of ending a node process don't allow disconnect to fire, meaning that
some dead nodes could still receive published packets.
Queues and Exchanges are not be deleted since they could contain important messages.