I intend to keep the recommended and now suggested headers to a bare minimum.
I have decided that "salt" and "time" should be common enough and important enough to add to this small list.
const f_string_static_t f_fss_payload_object_payload_s = macro_f_string_static_t_initialize_1(F_fss_payload_object_payload_s, 0, F_fss_payload_object_payload_s_length);
#endif // _di_f_fss_payload_object_payload_s_
+ #ifndef _di_f_fss_payload_object_salt_s_
+ const f_string_static_t f_fss_payload_object_salt_s = macro_f_string_static_t_initialize_1(F_fss_payload_object_salt_s, 0, F_fss_payload_object_salt_s_length);
+ #endif // _di_f_fss_payload_object_salt_s_
+
#ifndef _di_f_fss_payload_object_signature_s_
const f_string_static_t f_fss_payload_object_signature_s = macro_f_string_static_t_initialize_1(F_fss_payload_object_signature_s, 0, F_fss_payload_object_signature_s_length);
#endif // _di_f_fss_payload_object_signature_s_
const f_string_static_t f_fss_payload_object_status_s = macro_f_string_static_t_initialize_1(F_fss_payload_object_status_s, 0, F_fss_payload_object_status_s_length);
#endif // _di_f_fss_payload_object_status_s_
+ #ifndef _di_f_fss_payload_object_time_s_
+ const f_string_static_t f_fss_payload_object_time_s = macro_f_string_static_t_initialize_1(F_fss_payload_object_time_s, 0, F_fss_payload_object_time_s_length);
+ #endif // _di_f_fss_payload_object_time_s_
+
#ifndef _di_f_fss_payload_object_total_s_
const f_string_static_t f_fss_payload_object_total_s = macro_f_string_static_t_initialize_1(F_fss_payload_object_total_s, 0, F_fss_payload_object_total_s_length);
#endif // _di_f_fss_payload_object_total_s_
* - name: The header Content name Object (an optional string).
* - part: The header Content part Object (an optional string).
* - payload: The payload Object or signature Content payload Object.
+ * - salt: The header Content salt Object (an optional string).
* - signature: The signature Object.
* - size: The header Content size Object (an optional string).
* - status: The header Content status Object (an optional string).
+ * - time: The header Content time Object (an optional string).
* - total: The header Content total Object (an optional string).
* - type: The header Content type Object (an optional string).
*/
#define F_fss_payload_object_name_s "name"
#define F_fss_payload_object_part_s "part"
#define F_fss_payload_object_payload_s "payload"
+ #define F_fss_payload_object_salt_s "salt"
#define F_fss_payload_object_signature_s "signature"
#define F_fss_payload_object_size_s "size"
#define F_fss_payload_object_status_s "status"
+ #define F_fss_payload_object_time_s "time"
#define F_fss_payload_object_total_s "total"
#define F_fss_payload_object_type_s "type"
#define F_fss_payload_object_name_s_length 4
#define F_fss_payload_object_part_s_length 4
#define F_fss_payload_object_payload_s_length 7
+ #define F_fss_payload_object_salt_s_length 4
#define F_fss_payload_object_signature_s_length 9
#define F_fss_payload_object_size_s_length 4
#define F_fss_payload_object_status_s_length 6
+ #define F_fss_payload_object_time_s_length 4
#define F_fss_payload_object_total_s_length 5
#define F_fss_payload_object_type_s_length 4
extern const f_string_static_t f_fss_payload_object_payload_s;
#endif // _di_f_fss_payload_object_payload_s_
+ #ifndef _di_f_fss_payload_object_salt_s_
+ extern const f_string_static_t f_fss_payload_object_salt_s;
+ #endif // _di_f_fss_payload_object_salt_s_
+
#ifndef _di_f_fss_payload_object_signature_s_
extern const f_string_static_t f_fss_payload_object_signature_s;
#endif // _di_f_fss_payload_object_signature_s_
extern const f_string_static_t f_fss_payload_object_status_s;
#endif // _di_f_fss_payload_object_status_s_
+ #ifndef _di_f_fss_payload_object_time_s_
+ extern const f_string_static_t f_fss_payload_object_time_s;
+ #endif // _di_f_fss_payload_object_time_s_
+
#ifndef _di_f_fss_payload_object_total_s_
extern const f_string_static_t f_fss_payload_object_total_s;
#endif // _di_f_fss_payload_object_total_s_
# fss-0002 iki-0000
#
# license open-standard-license-1.0
-# version 2024/01/01
+# version 2024/03/12
#
# This file (assumed to be named fss-000e.txt) can be more easily read using the following iki_read commands:
# iki_read fss-000e.txt +Q -w -rr EOF EOF FLL FLL -WWW character "'" "'" code '"' '"' italic '"' '"'
The italic:"header"\:
- The italic:"header"'s Content is of type code:"FSS-0001 (Extended)".
- The italic:"header" is recommended to have the Objects italic:"length", italic:"status", italic:"part", italic:"total", and italic:"type".
+ - The italic:"header" is suggested to have the Objects italic:"salt" and italic:"time".
- The recommended italic:"length" represents the size of the italic:"payload".
- The recommended italic:"part" represents a single part of a set of packets for when the data being transmitted is split across multiple payloads.
- The recommended italic:"status" represents status codes (such as success or failure) and multiple.
- The recommended italic:"total" represents the total number of parts representing a complete data transmitted across multiple payloads.
- The recommended italic:"type" represents the type of information being transmitted.
+ - The suggested italic:"salt" represents random arbitrary data to further assist in making packets more unique during compression.
+ - The suggested italic:"time" represents some form of time unit, such as a time stamp.
- The Content for the recommended italic:"length" and italic:"status" are positive whole numbers (including zero) that may be in italic:"binary", italic:"octal", italic:"decimal", italic:"duodecimal", or italic:"hexidecimal" numerical format.
- There may be multiple italic:"header" Object and associated Content but the behavior is not defined by this standard.
- For guaranteed safe and compatible behavior, only a single italic:"header" Object and associated Content should be defined.