coap-rs icon indicating copy to clipboard operation
coap-rs copied to clipboard

Block and Link Format support

Open bsmelo opened this issue 6 years ago • 8 comments

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!

bsmelo avatar Mar 08 '18 21:03 bsmelo

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.

Covertness avatar Mar 10 '18 01:03 Covertness

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.

bsmelo avatar Mar 11 '18 21:03 bsmelo

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 ?

Covertness avatar Mar 12 '18 14:03 Covertness

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

bsmelo avatar Mar 13 '18 18:03 bsmelo

Thank you for your information.

Covertness avatar Mar 14 '18 11:03 Covertness

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.

ea2973929 avatar Feb 14 '19 09:02 ea2973929

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

Covertness avatar Feb 14 '19 11:02 Covertness

Block1/2 is supported in this repo.

Covertness avatar Jun 19 '22 07:06 Covertness