Comments (9)
Looking forward to a no-std mqttrs :) I think it might even be possible without a feature flag, which would be great.
NonZeroU16 should be nostd-safe.
I don't quite recall what std::fmt
is used for; if it's used for error handing then the best thing to do might be to tweak the error types a bit.
Concerning bytes
, I'd like to loosen the dependency on it anyway, accepting an Into<Buf>
or something even more generic. The bytes
crate has changed its API since the async.await
release, we should probably update to that, unless we want to keep our MSRV low. https://seanmonstar.com/post/189439210962/http-v02 mentions that they managed to keep using Bytes
but don't expose it in the API anymore, we should have a look at how they did it.
The bytes
work could probably be a PR on its own, separate of the no-std work. I'd get to it eventually, but not before end of 2020Q1.
from mqttrs.
Sure i would like to explore in that. The primary use case was to build broker just for fun for me.
But, if there is a use case, which there will be, i think this is a good opportunity to get started with it.
from mqttrs.
I will surely look into that. and you are welcome opening PR also. :)
from mqttrs.
That sound great! I can do an initial PR, but i currently don't have the means to actually test the implementation any more than checking it will compile..
I am still just sweeping github for libraries that might be handy for my IoT application development, to get an idea of how much i have left to implement myself.
from mqttrs.
ok. just open an initial PR, then we can take it from where it needs to be by testing and building on top of initial PR.
from mqttrs.
Sounds good! I will give it a go, as soon as i get some time.
from mqttrs.
awesome. thank you.
from mqttrs.
Sounds great! @vincentdephily if you have the time before me, feel free to open an initial PR :)
from mqttrs.
https://github.com/vincentdephily/mqttrs/tree/serde_and_bytes contains an update to bytes
, and the changelog for bytes
's new version mentions no_std support. I'll make a PR for that branch once I manage to change encode()/decode()
signatures to use something like impl BufMut
instead of &mut BytesMut
.
From there I guess it'll be pretty easy to support no_std, but I won't tackle that myself as I don't have a usecase for or experience with no_std.
from mqttrs.
Related Issues (20)
- `Connect.password` should be `Option<Vec<u8>>` instead of `Option<String>`.
- Refactor using a combined `QosPid` struct. HOT 1
- PacketIdentifier should be NonZeroU16
- Support MQTT5 HOT 8
- Add builder APIs
- Zero-copy encoding and decoding HOT 4
- Write good documentation. HOT 4
- New release on crates.io? HOT 2
- Support alloc-free operation HOT 3
- Serde feature enabled by default (through `std` feature) HOT 2
- Add `mqttrs::decode::check()` method, to see if the packet is decodable? HOT 2
- Proper way to extract packet length? HOT 2
- make every packet clonable.
- Example in README file does not work, cannot find encode/decode in this scope HOT 2
- Purging 0.4.0 in favour of simplicity and little bit of performance cost. HOT 10
- Fresh crates.io release HOT 2
- Unable to implement tokio_util::codec::{Decoder, Encoder} with mqttrs version 0.4 HOT 4
- Trouble Implementing Tokio-util Decoder for MQTT Broker
- Add integration examples with other libraries and runtimes.
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 mqttrs.