tplux
11/11/2022, 2:04 PMfloitsch
11/13/2022, 5:03 PMtplux
11/14/2022, 6:35 AMfloitsch
11/14/2022, 1:09 PMtplux
11/21/2022, 7:59 AMfloitsch
11/21/2022, 10:18 AMfloitsch
11/21/2022, 3:47 PMfloitsch
11/21/2022, 3:51 PMmax_inflight
option. For QoS=1 packets, the client would block a publish
if there were too many outstanding packets.
Together with a with_timeout
on the publish
this could yield a faster detection of dropped connections.tplux
11/22/2022, 6:43 AMfloitsch
11/22/2022, 8:27 AMwith_timeout
floitsch
11/22/2022, 8:29 AMtplux
11/29/2022, 8:58 AMwith_timeout
solved the issue, but we could probably benefit from the changes you made to the mqtt package. Do you plan to make a new package release with the changes?
/Tommyfloitsch
11/29/2022, 8:58 AMtplux
11/29/2022, 8:59 AMfloitsch
11/29/2022, 11:50 AMtplux
11/29/2022, 11:51 AMRikke
11/29/2022, 1:04 PMfloitsch
11/29/2022, 1:05 PMfloitsch
11/29/2022, 1:05 PMmonitor.Signal
and similar.floitsch
11/29/2022, 1:06 PMfloitsch
11/29/2022, 1:07 PMRikke
11/29/2022, 1:07 PMfloitsch
11/29/2022, 1:08 PMfloitsch
11/29/2022, 1:08 PMfloitsch
11/29/2022, 1:08 PMRikke
11/29/2022, 1:08 PMThe SDK constraint defined in the package.lock file is not satisfied: v2.0.0-alpha.35 < ^2.0.0-alpha.41
when i try to buildRikke
11/29/2022, 1:09 PMfloitsch
11/29/2022, 1:10 PMfloitsch
11/29/2022, 1:10 PMRikke
11/29/2022, 1:11 PMfloitsch
11/29/2022, 1:11 PMRikke
11/29/2022, 1:11 PMfloitsch
11/29/2022, 1:12 PMjag pkg install --local --name mqtt ../mqtt
floitsch
11/29/2022, 1:12 PMmqtt
is the name under which it would be used in your project, and ../mqtt
is the path to the checked out version.floitsch
11/29/2022, 1:13 PMfloitsch
11/29/2022, 1:13 PMRikke
11/29/2022, 1:13 PMfloitsch
11/29/2022, 1:18 PMfloitsch
11/29/2022, 1:18 PMRikke
11/29/2022, 1:20 PMRikke
11/30/2022, 7:38 AMwith_timeout
around publish does not work anymore with v2.1.1, it never times out and the esp never recovers, not even when internet is back 🤔 but I haven't looked further into this yet, but I will todayfloitsch
11/30/2022, 10:33 AMRikke
11/30/2022, 12:12 PM2022-11-30 11:48:39,808 DEBUG: Connected to broker
2022-11-30 11:48:39,814 DEBUG: Attempting to (re)connect
2022-11-30 11:48:39,825 Heap report @ out of memory:
2022-11-30 11:48:39,838 ┌───────────┬─────────┬───────────────────────┐
2022-11-30 11:48:39,843 │ Bytes │ Count │ Type │
2022-11-30 11:48:39,855 ├───────────┼─────────┼───────────────────────┤
2022-11-30 11:48:39,860 │ 5256 │ 4 │ external byte array │
2022-11-30 11:48:39,866 │ 102400 │ 19 │ toit │
2022-11-30 11:48:39,871 │ 8952 │ 37 │ lwip │
2022-11-30 11:48:39,876 │ 7992 │ 723 │ heap overhead │
2022-11-30 11:48:39,881 │ 7864 │ 51 │ event source │
2022-11-30 11:48:39,886 │ 32872 │ 313 │ thread/other │
2022-11-30 11:48:39,891 │ 22304 │ 21 │ thread/spawn │
2022-11-30 11:48:39,896 │ 23280 │ 159 │ untagged │
2022-11-30 11:48:39,901 │ 33864 │ 81 │ wifi │
2022-11-30 11:48:39,914 └───────────┴─────────┴───────────────────────┘
2022-11-30 11:48:39,921 Total: 244784 bytes in 685 allocations (82%), largest free 52k, total free 54k
2022-11-30 11:48:39,924 DEBUG: Connection established
2022-11-30 11:48:39,926 INFO: disconnect from server
2022-11-30 11:48:39,929 DEBUG: Attempting to (re)connect
2022-11-30 11:48:39,937 DEBUG: Attempting to (re)connect
It keeps giving the Heap report @ out of memory
, so I think it tries to reconnect multiple times with the same client, and having multiple clients with same name will disconnect each other.floitsch
11/30/2022, 12:14 PMfloitsch
11/30/2022, 12:14 PMfloitsch
11/30/2022, 12:14 PMfloitsch
11/30/2022, 12:14 PMpublish
doesn't work but don't close the old one, you might end up with many clients trying to run in parallel.Rikke
11/30/2022, 12:15 PMRikke
11/30/2022, 12:15 PMRikke
11/30/2022, 12:17 PMwith_timeout
, but I didnt have time to look further into this. So if we cant detect a disconnect with catch, we may be using publish when disconnected, and making multiple clients.floitsch
11/30/2022, 12:19 PMpublish
call doesn't fail. However, the publish
is blocked at that point.floitsch
11/30/2022, 12:20 PMfloitsch
11/30/2022, 12:20 PMpublish
? Was it with a with_timeout
or was it a different one?floitsch
11/30/2022, 12:21 PMstart
function. (Don't remember which one).Rikke
11/30/2022, 12:25 PMwith_timeout
to catch, but I think we will go back to old strategy for connecting. I will look into the new strategy later, but for now we want the client to close.floitsch
11/30/2022, 12:26 PMfloitsch
11/30/2022, 12:26 PMfloitsch
11/30/2022, 12:26 PMpublish
block if there are too many inflight messages.floitsch
11/30/2022, 12:27 PMRikke
11/30/2022, 12:29 PMfloitsch
11/30/2022, 12:29 PMRikke
11/30/2022, 12:29 PMRikke
12/01/2022, 1:05 PMfloitsch
12/01/2022, 1:08 PMRikke
12/01/2022, 1:09 PMfloitsch
12/01/2022, 1:09 PMRikke
12/01/2022, 1:12 PMfloitsch
12/01/2022, 1:14 PM