Comments (6)
Just use cleansession: true
on the the client, that will do.
What code are you using to achieve this? It should work even if it was not intended to be used that way.
from aedes.
Yes, I am aware of that, but 'cleansession : true' will not hold messages if the client ungracefully disconnects which is something I would not want.
My main concern was, client object is not containing subscriptions in 'subscriptions' field of client on 'clientDisconnect' event.
from aedes.
Those would already be gone, as with the 'clientDisconnect' event the client has no live subscriptions (that is used for live subscriptions). At the moment, that fied is not part of the public API and it is used internally.
I am fine in exposing this, but it would require a bit of work around doc and testing. The idea should be to have that flushed if the client is clean, but to maintain the state if the client is not clean.
BTW, to achieve what you want, it might be simpler to hook into the persistence and delete them from there directly.
If you want to send a PR, I will be happy to review.
from aedes.
Hi mcollina,
As you mentioned, I tried deleting subscriptions from redis manually. I did following:
On unsubscribing I deleted client key that is - 'client:sub:{client}' and
removed client entry from subscribed channels - 'sub:client:{subscription}'
However, the aedes is somehow still holding subscriptions and fetching me all the retained messages.
Could you please suggest me how to remove subscriptions completely from aedes.
from aedes.
You must use the persistence api: https://github.com/mcollina/aedes-persistence
In particular, you need to use: https://github.com/mcollina/aedes-persistence#instancecleansubscriptionsclient-callbackerr-client
(all persistences implement the same API).
from aedes.
I tried using instancecleansubscription() method and I was able to completely remove clients subscriptions.
Thanks.
from aedes.
Related Issues (20)
- Why is CONNACK returned before the end of on.connect HOT 2
- [question] Kotlin Android examples
- Difficult to use in ES6 module package. HOT 10
- [question] How to get client ip address in Websocket mode HOT 1
- [feat!]: change to named exports to enable monkey patching HOT 11
- [question] Parsing a packet that come from old mqtt client version HOT 5
- Can Aedes send webhooks? HOT 2
- [bug] - TypeError during aedes Module Initialization
- mqtt服务启动后无法打印内容 HOT 2
- [bug] Aedes is undefined in Typescript HOT 7
- [bug] duplicated closed clients HOT 1
- [bug]"done" is not a function
- [question] does the test "unsubscribe throws error" valid? HOT 3
- [question] Any way to add data to connect packet and authorize handler? HOT 2
- [question]Frequent service clientError Error: invalid status code: 12592 HOT 1
- [bug] Number of TCP Connections accepted on container is less than the one deployed in EC2 machine HOT 7
- [bug] console.error introduced in v0.51.0 HOT 1
- [bug] Not all messages are consumed when dedupe is enabled HOT 7
- [question] Can i modify the source code of aedes and use in my project? Please help me out if there are any restrictions ? HOT 1
- [question] Zero length packet when connect and subscribe HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aedes.