In the current scheme, to send a CDAP message M to a non-neighbor X we need to build an additional envelope CDAP message with an AData payload object. The AData object contains our current address in the src_address field, the current address for X in the dst_address field and a buffer containing M in wire format. M normally contains yet another payload object.
The whole thing looks like this:
| CDAP |
| |
| obj | ---> | AData |
| src, dst |
| bytes | -------> | CDAP |
| |
| obj | ----> | (something) |
| |
This is quite cumbersome and complex, and moreover the current AData is missing fields for authentication, that CDAP already has. Since addresses are just temporary aliases, we can use the src_appl and dst_appl fields as a replacement for src_address and dst_address.
| CDAP |
| src_appl |
| dst_appl |
| obj | ---> | (something) |
| |
The obj_name and obj_class are the one of the internal object.
In the current scheme, to send a CDAP message M to a non-neighbor X we need to build an additional envelope CDAP message with an AData payload object. The AData object contains our current address in the src_address field, the current address for X in the dst_address field and a buffer containing M in wire format. M normally contains yet another payload object.
The whole thing looks like this:
This is quite cumbersome and complex, and moreover the current AData is missing fields for authentication, that CDAP already has. Since addresses are just temporary aliases, we can use the
src_applanddst_applfields as a replacement forsrc_addressanddst_address.The
obj_nameandobj_classare the one of the internal object.