At the moment Wakaama uses preprocessor #ifdefs to enable certain codepaths (server, client, bootstrap server, json), transport properties (dtls) and other features (firmware upgrade).
The compiler and linker are already eliminating dead code, so independent features like firmware upgrade do not need to be #ifdef'ed.
Server, client and bootstrap functionality should be separated more and refactored into own classes with an own state machine each.
At the moment Wakaama uses preprocessor #ifdefs to enable certain codepaths (server, client, bootstrap server, json), transport properties (dtls) and other features (firmware upgrade).
The compiler and linker are already eliminating dead code, so independent features like firmware upgrade do not need to be #ifdef'ed.
Server, client and bootstrap functionality should be separated more and refactored into own classes with an own state machine each.