Skip to content

v3.1

Latest
Compare
Choose a tag to compare
@Florimond Florimond released this 02 Feb 20:09
· 5 commits to master since this release
996fa4a

What's Changed

Main changes:

Limit the size of a response by @Florimond in #413

From the begining, mqtt.go defines a maximum size for a response. However if the limit was met, it resulted in an error and no message was sent. Now, the Query itself limits the size of a frame and messages are sent to the client, but only those whose total size <= to the maximum size of a response.

Implications on the current API: for a subscribe request with a Last=X parameter, the client will receive the last messages whose total size is <= to the max size of a response, with a maximum of X messages. This behavior is an improvement over just getting an error.

Adds the new history API by @Florimond in #414

The history api allows to retrieve any number of messages stored in a channel. As the number of messages that can return in a single response is limited by the size of a response (as per #413), a system of pagination is required. This system is implemented with the introduction of the StartFromID query parameter. An client that already received a response with a certain number of messages can send a new request to the API with the StartFromID set to the ID of the last message it received. The storage query will then start retreiving messages starting at that ID to provide the API the next page of messages in its response.

[FIX] Storage implement the Surveyee interface by @Florimond in #420

This fixes a major bug preventing Emitter instances to start a cluster.

New Contributors

Full Changelog: v3.0...v3.1