Skip to content

Commit e2c4ba4

Browse files
committed
fixes moscajs#693
1 parent 1332f1a commit e2c4ba4

4 files changed

Lines changed: 16 additions & 12 deletions

File tree

lib/persistence/levelup.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -162,11 +162,12 @@ LevelUpPersistence.prototype.storeSubscriptions = function(client, done) {
162162
var now = Date.now();
163163

164164
if (!client.clean) {
165+
// Issue #693
165166
Object.keys(client.subscriptions).forEach(function(key) {
166-
if (client.subscriptions[key].qos > 0) {
167-
subscriptions[key] = client.subscriptions[key];
168-
subscriptions[key].ttl = that.options.ttl.subscriptions + now;
169-
}
167+
//if (client.subscriptions[key].qos > 0) { // Issue #693
168+
subscriptions[key] = client.subscriptions[key];
169+
subscriptions[key].ttl = that.options.ttl.subscriptions + now;
170+
//} // Issue #693
170171
});
171172
this._clientSubscriptions.put(client.id, subscriptions, done);
172173
Object.keys(subscriptions).forEach(function(key) {

lib/persistence/mongo.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -183,9 +183,11 @@ MongoPersistence.prototype.storeSubscriptions = function(client, done) {
183183
var that = this;
184184

185185
if (!client.clean) {
186-
subscriptions = Object.keys(client.subscriptions).filter(function(key) {
187-
return client.subscriptions[key].qos > 0;
188-
});
186+
// Issue #693
187+
// subscriptions = Object.keys(client.subscriptions).filter(function(key) {
188+
// return client.subscriptions[key].qos > 0;
189+
// });
190+
subscriptions = Object.keys(client.subscriptions);
189191

190192
steed.each(subscriptions, function(key, cb) {
191193
that._subscriptions.findAndModify({

lib/persistence/redis.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -283,10 +283,11 @@ RedisPersistence.prototype.storeSubscriptions = function(client, cb) {
283283
var that = this;
284284
var subscriptions = {};
285285

286+
// Issue #693
286287
Object.keys(client.subscriptions).forEach(function(key) {
287-
if (client.subscriptions[key].qos > 0) {
288-
subscriptions[key] = client.subscriptions[key];
289-
}
288+
// if (client.subscriptions[key].qos > 0) { // Issue #693
289+
subscriptions[key] = client.subscriptions[key];
290+
//} // Issue #693
290291
});
291292

292293
this._client.get(clientSubKey, function(err, currentSubs){

test/persistence/abstract.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -558,7 +558,7 @@ module.exports = function(create, buildOpts) {
558558
});
559559
});
560560

561-
it("should not store a QoS 0 subscription", function(done) {
561+
it("should store a QoS 0 subscription", function(done) {
562562
var instance = this.instance;
563563
var client = {
564564
id: "my client id - 42",
@@ -573,7 +573,7 @@ module.exports = function(create, buildOpts) {
573573

574574
instance.storeSubscriptions(client, function() {
575575
instance.lookupSubscriptions(client, function(err, results) {
576-
expect(results).to.eql({});
576+
expect(results).to.eql(client.subscriptions);
577577
done();
578578
});
579579
});

0 commit comments

Comments
 (0)