User Tools

Site Tools


versioning

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

versioning [2017/02/02 16:59] (current)
Ziran Sun created
Line 1: Line 1:
 +Work In Progress: 02-Feb-2017
  
 +====== IoTivity Versioning ======
 +
 +Versioning is to address the compatibility issue whereas multiple devices on the network with different specification versions. ​ The scope covers from Framework level to application level. ​
 +The purpose for payload versioning support is to make sure that client and server can understand each others payload, especially in the case that client and server are based on different version of code base. 
 +
 +The next step is to support Device level versioning so that OCF devices can be aware of each others version. ​
 +
 +It is also note that OCF version and IoTivity version are different. We will address IoTivity version in a separate thread.
 +
 +==== Features ====
 +  * Introduce in new Content Type application/​vnd.ocf+cbor
 +  * Introduce in option headers Accept Version and Content-Format Version
 +  * Handle versioning at CA and RI layers
 +  * Expose the result of version handling to application layer 
 +==== Settings for tests ====
 +
 +The versioning feature is introduced from OCF 1.0.0. While testing, please check the #defines of OC_SPEC_VERSION and OC_SPEC_VERSION_VALUE in //<​IOTIVITY_DIR>/​resource/​csdk/​include/​octypes.h//​
 +
 +OC_SPEC_VERSION needs to be OCF version 1.xx and OC_SPEC_VERSION_VALUE is the corresponding integer value of OC_SPEC_VERSION. For example, for OCF version 1.0.0, we may have
 +
 +      #define OC_SPEC_VERSION ​             "​OCF.1.0.0" ​  
 +      #define OC_SPEC_VERSION_VALUE ​       2048
 +
 +
 +
 +For scenario that OCF 1.x client connects to OIC 1.1 server, client needs to be built on top of OCF 1.x code base and server built on OIC 1.1 code base. The following example code has given examples on tests of this scenario. ​
 +
 +  * //<​IOTIVITY_DIR>/​resource/​csdk/​stack/​samples/​linux/​SimpleClientServer/​occlient.cpp//​
 +  * //<​IOTIVITY_DIR>/​resource/​csdk/​stack/​samples/​linux/​SimpleClientServer/​ocserver.cpp//​
versioning.txt ยท Last modified: 2017/02/02 16:59 by Ziran Sun