summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2024-05-01Bump thiserror from 1.0.58 to 1.0.59dependabot/cargo/thiserror-1.0.59dependabot[bot]
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.58 to 1.0.59. - [Release notes](https://github.com/dtolnay/thiserror/releases) - [Commits](https://github.com/dtolnay/thiserror/compare/1.0.58...1.0.59) --- updated-dependencies: - dependency-name: thiserror dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
2024-04-05Merge pull request #282 from matthiasbeyer/handlers-callsMarcel Müller
Handlers calls
2024-04-05Add call for on_packet_recv handlerMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2024-04-05Move packet objects into handlersMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2024-04-05Add Puback packet typeMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2024-04-05Rename handle functionsMatthias Beyer
We call these "handle" functions only after receiving information from the server (for now), so there's no decision-process to be implemented by the user. There's no need to be async here, and the user cannot return values to cloudmqtt in this case. Therefore, we call these functions `on_*` because we simply notify the user of something that happened. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2024-04-05Merge pull request #281 from matthiasbeyer/remove-tryfromMarcel Müller
Replace failable conversion with non-failable one
2024-04-05Merge pull request #280 from matthiasbeyer/client-builderMarcel Müller
Client builder
2024-04-05Clearify name: We only ack QoS1 packetsMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2024-04-05Use MqttClient::builder() to build clientMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2024-04-05Add builder for MqttClientMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2024-04-05Replace failable conversion with non-failable oneMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2024-04-05Impl Default for ClientHandlersMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2024-04-05Add type aliases for handler functionsMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2024-04-05Merge pull request #279 from matthiasbeyer/replace-tryfrom-fromMarcel Müller
Fix: Replace TryFrom that cannot fail with From impl
2024-04-05Merge pull request #278 from matthiasbeyer/some-clippy-fixesMarcel Müller
Some clippy fixes
2024-04-05Fix: Replace TryFrom that cannot fail with From implMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2024-04-05Fix clippy: Remove useless return keywordMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2024-04-05Fix clippy: Remove unused stuffMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2024-04-04Merge pull request #277 from matthiasbeyer/some-clippy-fixesMarcel Müller
Fix clippy: Remove unnecessary return value decl
2024-04-04Fix clippy: Remove unnecessary return value declMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2024-04-04Merge pull request #276 from TheNeikos/feature/add_keep_aliveMarcel Müller
Add keep alive
2024-04-04Make cloudmqtt-bin use heartbeatsMarcel Müller
Signed-off-by: Marcel Müller <neikos@neikos.email>
2024-04-04Create and start heartbeat background taskMarcel Müller
Signed-off-by: Marcel Müller <neikos@neikos.email>
2024-04-04Add KeepAlive value to ConnectStateMarcel Müller
Signed-off-by: Marcel Müller <neikos@neikos.email>
2024-04-04Create TransportWriter abstraction for heartbeatsMarcel Müller
The MQTT Spec requires that we only start counting 'keep alive' timeouts _after_ we sent our last packet. This abstraction does exactly that, only sending out notifications once a packet has been written + flushed. Signed-off-by: Marcel Müller <neikos@neikos.email>
2024-04-04Make KeepAlive Debug/Clone/CopyMarcel Müller
Signed-off-by: Marcel Müller <neikos@neikos.email>
2024-04-04Add futures-timer crate dependencyMarcel Müller
Signed-off-by: Marcel Müller <neikos@neikos.email>
2024-04-04Merge pull request #274 from TheNeikos/fix/client_pingreqMarcel Müller
Don't send a pingresp to server
2024-04-04Merge pull request #275 from matthiasbeyer/remove-zeroable-packet-identifierMarcel Müller
Remove zeroable packet identifier
2024-04-04Rename PacketIdentifierNonZero -> PacketIdentifierMatthias Beyer
Because there is never a packet identifier that is zero, we don't need to call the type ...NonZero. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2024-04-04Fix: Because PacketIdentifier holds a NonZeroU16, this is now easierMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2024-04-04Fix: PacketIdentifierNonZero can now be converted to PacketIdentifierMatthias Beyer
Because the PacketIdentifier from mqtt-format holds a NonZeroU16 now, this conversion is now possible. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2024-04-04Remove PacketIdentifier type that held u16Matthias Beyer
We converted the PacketIdentifier type in mqtt-format to always hold a NonZeroU16, so this type is not needed anymore. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2024-04-04Make PacketIdentifier always hold NonZeroU16Matthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2024-04-04Don't send a pingresp to serverMarcel Müller
Signed-off-by: Marcel Müller <neikos@neikos.email>
2024-04-04Merge pull request #272 from matthiasbeyer/packetidentifier-typeMarcel Müller
Dedicated PacketIdentifier{,NonZero} type
2024-04-04Replace std::num::NonZeroU16 with PacketIdentifierNonZeroMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2024-04-04Add dedicated type for PacketIdenitifier{,NonZero}Matthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2024-04-04Merge pull request #273 from TheNeikos/feature/expand_clientMarcel Müller
Refactor callbacks to remove hashmap and enum matching
2024-04-04Refactor Callbacks to use methods instead of directMarcel Müller
Signed-off-by: Marcel Müller <neikos@neikos.email>
2024-04-04Refactor Callback hashmap to its own structMarcel Müller
Signed-off-by: Marcel Müller <neikos@neikos.email>
2024-04-04Merge pull request #271 from TheNeikos/publish-abstractionMarcel Müller
Publish abstraction
2024-04-04Add Ping to cloudmqtt-binMarcel Müller
Signed-off-by: Marcel Müller <neikos@neikos.email>
2024-04-04Add MqttClient::pingMarcel Müller
Signed-off-by: Marcel Müller <neikos@neikos.email>
2024-04-04Use VecDeque for CallbackState::PingReqMarcel Müller
Signed-off-by: Marcel Müller <neikos@neikos.email>
2024-04-04Rename publish module to sendMarcel Müller
Signed-off-by: Marcel Müller <neikos@neikos.email>
2024-04-04Rename background module to receiveMarcel Müller
Signed-off-by: Marcel Müller <neikos@neikos.email>
2024-04-04Don't pass process_span as parameterMarcel Müller
Signed-off-by: Marcel Müller <neikos@neikos.email>
2024-04-04Add pingresp handlingMarcel Müller
Signed-off-by: Marcel Müller <neikos@neikos.email>