Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cf-dev] CoAP-over-TCP RFC Draft 4

I've been taking a look at what it'd take to support latest draft (https://tools.ietf.org/html/draft-ietf-core-coap-tcp-tls-04).  In it, we now have new type of message: Signal Message type, which among other things, allows exchange of capabilities between endpoints.  The new message type is not optional - it must be exchanged for every new TCP connection.

We have two ways to support new message type. 

First method, introduce new method (receiveSignalMessage / sendSignalMessage) on every interface (stack, interceptors, layer). Have UDP stack ignore those message type (we already have a precedent for that - TCP stack ignores EmptyMessages).  Modifying interfaces is backwards incompatible, but these are internal interfaces, so shouldn't impact users.

Second method, is to bite the bullet, and fork CoapEndpoint (and all accompanying classes) between UDP and TCP stacks. This would result a slightly cleaner implementation for each stack, but would result in fair bit of of duplication.

My preference is towards method #1 - but wanted to hear others' opinions.  I'm not a big fan of #2, since if we're doing that might as well fork the entire library. 

Thoughts?

Back to the top