3 ms·
The protocol of Matrix does long polling though. Is there a big difference? You want at least heartbeat to detect a broken connection (at least from client end)
by _flux 1mo ago
The protocol of Matrix does long polling though. Is there a big difference? You want at least heartbeat to detect a broken connection (at least from client end), and it looks like XMPP does not come with server-originated hearbeat for that purpose, so it's back to client-side pinging?
- pixelschubsi 1mo agoWell, apparently long polling is so bad on battery that Matrix clients for phones prefer to just not provide background notifications without any external push service. From what I understand, many Matrix services give their long polling a timeout of 60 seconds, which would prevent a phone from entering deep-sleep states. XMPP uses a persistent connection. These are kept alive using TCP keepalive (both from server and on the client, but client side will be handled by the MPU and thus doesn't need CPU wake-up) and client initiated application protocol pings at intervals of 5 minutes or even less. Client initiated pings are much better on the application protocol, because they can be synced with other operating system tasks and thus don't need any active wake-up.