shamblett / coap

A Coap package for dart
Other
16 stars 13 forks source link

refactor: add possibility to support different URI schemes #69

Closed JKRhb closed 2 years ago

JKRhb commented 2 years ago

Dealing with the addition of DTLS to the library, I noticed that the current structure of the library does not really allow for differentiating between URI schemes. This PR proposes a new structure that allows for adding additional network and channel types that can be chosen based on the URI scheme that is encountered.

This way, in contrast to what is currently proposed in #35, additional ways of transporting CoAP packets can be defined in their own classes and do not need to be integrated into the UDP channel/network classes. This also makes the library easier to extend with features like CoAP over TCP or CoAP over WebSockets.

Unfortunately, this PR requires #35 to be rebased/adjusted (sorry @Sorunome) but I hope it won't be too much work :/

shamblett commented 2 years ago

This looks OK to me, I take it it's now ready to merge, just checking.

JKRhb commented 2 years ago

@shamblett Thank you for your feedback :) Besides the merge conflict it would be ready, however, maybe the change could also be incorporated into @JosefWN's PR #76?

JosefWN commented 2 years ago

I can incorporate it if you want and if @shamblett is ok with it, working on mutlicast and adding more examples/tests to find and work out any issues in the PR

shamblett commented 2 years ago

No problem from me with this approach.

JosefWN commented 2 years ago

Hope I didn't miss anything: https://github.com/shamblett/coap/pull/76/commits/4a44d63a7a76c0cac1d0a89cc60b1082d166307a :)

Also includes a fix for a formatting issue I had caused in the builder, which I discovered when I re-generated the CoapConfigs (which I did just in case).

JKRhb commented 2 years ago

Awesome, thank you :) Then I'll close this PR :)