blob: cf154a4c88637bf9b42d28eb9de091498d2baadc [file] [log] [blame] [view]
<link rel="stylesheet" href="../style.css" />
[TOC]
# fuchsia.lowpan.bootstrap
<div class="fidl-version-div"><span class="fidl-attribute fidl-version">Added: 7</span></div>
## **PROTOCOLS**
## Thread {#Thread}
*Defined in [fuchsia.lowpan.bootstrap/thread.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.lowpan.bootstrap/thread.fidl;l=13)*
<p>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.</p>
### ImportSettings {#Thread.ImportSettings}
<p>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:
{
&quot;key1&quot; : [ base64_encoded_string1_1, base64_encoded_string1_2, ... ],
&quot;key2&quot; : [ 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.</p>
<p>Settings are guaranteed to have been persisted upon successful
completion of this call. The channel will be closed if importing
settings fail.</p>
#### Request {#Thread.ImportSettings_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>thread_settings_json</code></td>
<td>
<code><a class='link' href='../fuchsia.mem/'>fuchsia.mem</a>/<a class='link' href='../fuchsia.mem/#Buffer'>Buffer</a></code>
</td>
</tr>
</table>
#### Response {#Thread.ImportSettings_Response}
&lt;EMPTY&gt;