Added: 7



Defined in fuchsia.lowpan.bootstrap/thread.fidl

Protocol to allow components to provide initial configuration data derived from an existing Thread implementation to ensure continuity of the Thread network and other thread settings.


Import a json data file containing the Thread configuration as created by [ThreadConfigManager] (https://fuchsia.googlesource.com/fuchsia/+/refs/heads/master/src/connectivity/openthread/third_party/openthread/platform/thread_config_manager.cc). The json format is: { "key1" : [ base64_encoded_string1_1, base64_encoded_string1_2, ... ], "key2" : [ base64_encoded_string2_1, base64_encoded_string2_2, ... ], ... } where key1, key2 etc are decimal representation of uint16_t values. base64_encoded_strings are created from a vector of uint16_t values. This json format is equivalent to thread settings file in POSIX which is binary file having the information encoded as: 2 bytes of key1, 2 bytes of value_len1, 'value_len1' bytes of 'value1', 2 bytes of key2, 2 bytes of value_len2, 'value_len2' bytes of 'value2', 2 bytes of key1, 2 bytes of value_len3, 'value_len3' bytes of 'value3', 2 bytes of key2, 2 bytes of value_len4, 'value_len4' bytes of 'value4'. The POSIX binary file is simply a sequence of bytes and allows for duplicate keys. This is converted to json format above with values transformed as: base64_encoded_string1_1 = base64_encode(value1[0:value_len1]) base64_encoded_string1_2 = base64_encode(value2[0:value_len2]) base64_encoded_string2_1 = base64_encode(value3[0:value_len3]) base64_encoded_string2_2 = base64_encode(value4[0:value_len4]) Keys are simply decimal representation of uint16_t keys in double quotes.

Settings are guaranteed to have been persisted upon successful completion of this call. The channel will be closed if importing settings fail.


thread_settings_json fuchsia.mem/Buffer