Initial Implementation of FB_Payload:
User Project will manage pools of each of the elements of arrays.
FB_EoNNode will first generate a structure using the Initialize, Set and Add methods, and secondly Encode the FB_Payload when it wants to send a payload.
FB_EoNNode will first Decode the FB_Payload, then use the Get and Read methods to determine the structure.
Progress (Implemented, not tested):
Get Set Encode Decode
[x] [x] [x] [x] Payload.timestamp
[x] [x] [x] [x] Payload.metrics[].name
[x] [x] [x] [x] Payload.metrics[].alias
[x] [x] [x] [x] Payload.metrics[].timestamp
[x] [x] [x] [x] Payload.metrics[].datatype
[x] [x] [x] [x] Payload.metrics[].is_historical
[x] [x] [x] [x] Payload.metrics[].is_transient
[x] [x] [x] [x] Payload.metrics[].is_null
[x] [x] [x] [x] Payload.metrics[].metadata.is_multi_part
[x] [x] [x] [x] Payload.metrics[].metadata.content_type
[x] [x] [x] [x] Payload.metrics[].metadata.size
[x] [x] [x] [x] Payload.metrics[].metadata.seq
[x] [x] [x] [x] Payload.metrics[].metadata.file_name
[x] [x] [x] [x] Payload.metrics[].metadata.file_type
[x] [x] [x] [x] Payload.metrics[].metadata.md5
[x] [x] [x] [x] Payload.metrics[].metadata.description
Payload.metrics[].metadata.extensions[] //none
[x] [x] [x] [x] Payload.metrics[].properties.keys[]
[x] [x] [x] [x] Payload.metrics[].properties.values[].type
[x] [x] [x] [x] Payload.metrics[].properties.values[].is_null
[x] [x] [x] [x] Payload.metrics[].properties.values[].int_value
[x] [x] [x] [x] Payload.metrics[].properties.values[].long_value
[x] [x] [x] [x] Payload.metrics[].properties.values[].float_value
[x] [x] [x] [x] Payload.metrics[].properties.values[].double_value
[x] [x] [x] [x] Payload.metrics[].properties.values[].boolean_value
[x] [x] [x] [x] Payload.metrics[].properties.values[].string_value
[x] [x] [x] [x] Payload.metrics[].properties.values[].propertyset_value. //(RECURSIVE PROPERTIES)
[x] [x] [x] [x] Payload.metrics[].properties.values[].propertysets_value.propertyset[]. //(RECURSIVE PROPERTIES)
Payload.metrics[].properties.values[].extension_value //none
Payload.metrics[].properties.extensions[] //none
[x] [x] [x] [x] Payload.metrics[].int_value
[x] [x] [x] [x] Payload.metrics[].long_value
[x] [x] [x] [x] Payload.metrics[].float_value
[x] [x] [x] [x] Payload.metrics[].double_value
[x] [x] [x] [x] Payload.metrics[].boolean_value
[x] [x] [x] [x] Payload.metrics[].string_value
[x] [x] [x] [x] Payload.metrics[].bytes_value
[x] [x] [x] [x] Payload.metrics[].dataset_value.num_of_columns
[x] [x] [x] [x] Payload.metrics[].dataset_value.columns[]
[x] [x] [x] [x] Payload.metrics[].dataset_value.types[]
[x] [x] [x] [x] Payload.metrics[].dataset_value.rows[].elements[].int_value
[x] [x] [x] [x] Payload.metrics[].dataset_value.rows[].elements[].long_value
[x] [x] [x] [x] Payload.metrics[].dataset_value.rows[].elements[].float_value
[x] [x] [x] [x] Payload.metrics[].dataset_value.rows[].elements[].double_value
[x] [x] [x] [x] Payload.metrics[].dataset_value.rows[].elements[].boolean_value
[x] [x] [x] [x] Payload.metrics[].dataset_value.rows[].elements[].string_value
Payload.metrics[].dataset_value.rows[].elements[].extension_value //none
Payload.metrics[].dataset_value.rows[].extensions[] //none
Payload.metrics[].dataset_value.extensions[] //none
[x] [x] [x] [x] Payload.metrics[].template_value.version
[x] [x] [x] [x] Payload.metrics[].template_value.metrics[]. //(RECURSIVE Metrics)
[x] [x] [x] [x] Payload.metrics[].template_value.parameters[].name
[x] [x] [x] [x] Payload.metrics[].template_value.parameters[].type
[x] [x] [x] [x] Payload.metrics[].template_value.parameters[].int_value
[x] [x] [x] [x] Payload.metrics[].template_value.parameters[].long_value
[x] [x] [x] [x] Payload.metrics[].template_value.parameters[].float_value
[x] [x] [x] [x] Payload.metrics[].template_value.parameters[].double_value
[x] [x] [x] [x] Payload.metrics[].template_value.parameters[].boolean_value
[x] [x] [x] [x] Payload.metrics[].template_value.parameters[].string_value
Payload.metrics[].template_value.parameters[].extension_value //none
[x] [x] [x] [x] Payload.metrics[].template_value.template_ref
[x] [x] [x] [x] Payload.metrics[].template_value.is_definition
Payload.metrics[].template_value.extensions[] //none
Payload.metrics[].extension_value.extensions[] //none
[x] [x] [x] [x] Payload.seq
[x] [x] [x] [x] Payload.uuid
[x] [x] [x] [x] Payload.body
Payload.extensions[] //none
The following is not intended to be implemented: extensions
Diff:
Diff:
Diff:
Diff:
Diff:
Diff:
r538
Diff:
[r539]
Diff:
Diff:
Diff:
Diff:
Diff:
In trunk at V1.3.0.1
Needs unit test as part of [#74]
Related
Tickets: #74