Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Block and Link Format support #18

Open
bsmelo opened this issue Mar 8, 2018 · 8 comments
Open

Block and Link Format support #18

bsmelo opened this issue Mar 8, 2018 · 8 comments

Comments

@bsmelo
Copy link

bsmelo commented Mar 8, 2018

Hello,

I know this library doesn't support Observe RFC yet. Does it support Blockwise Transfer (RFC7959) and Link Formats (RFC6690)?
Besides those, which other options are NOT supported?

Thanks!

@Covertness
Copy link
Owner

I will add some features in the next few weeks. Can you tell me what would you do with Blockwise Transfer and Link Formats ?
This lib currently only support the basic feature of CoAP. The options of CoAP will supported in the feature.

@bsmelo
Copy link
Author

bsmelo commented Mar 11, 2018

Hi,
Thanks for the response!
I wouldn't do anything specific, actually... I'm just collecting different CoAP implementations and comparing them, and the implementation status of these related RFCs is one of the dimensions compared.
I actually use sample applications developed for each of those implementations, in a research project in which I'm testing the robustness of those implementations through fuzzing. It is based on that comparison that I choose the implementations to be tested, and I was thinking about adding this one to my list.

@Covertness
Copy link
Owner

CoAP is a new protocol. Many libraries are still under the process. Can you talk about which one implement the most of features among your tested libraries ?

@bsmelo
Copy link
Author

bsmelo commented Mar 13, 2018

Among the ones I've selected thus far, I'd say Californium (java), libcoap (c), libnyoci (c), txThings (python), CoAPthon (python), aiocoap (python), jcoap (java) and canopus (go) are fairly complete. Californium and libcoap are probably the most mature ones, I would guess.

I'm still in the process of selecting other candidates, though. If you are interested, I've also found this paper [1] from 2017 which does a feature and performance comparison between some (a few) implementations.

[1] https://www.sciencedirect.com/science/article/pii/S1877050917309870?via%3Dihub

@Covertness
Copy link
Owner

Thank you for your information.

@ea2973929
Copy link
Collaborator

Maybe split this in two? I could use Block1 transfers for updating device firmwares, but have no need for the link format (atm). I'm sure other people have other priorities. Anyway, they are two different parts of the spec. and are separate features.

@Covertness
Copy link
Owner

@ea2973929 Of course. These two features have no relationship. I will do it later and any pr will be appreciate.

@Covertness
Copy link
Owner

Block1/2 is supported in this repo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants