template <>

class WireWeakAsyncBufferClientImpl

Defined at line 464 of file fidling/gen/sdk/fidl/fuchsia.lowpan.bootstrap/fuchsia.lowpan.bootstrap/cpp/fidl/fuchsia.lowpan.bootstrap/cpp/wire_messaging.h

Public Methods

::fidl::internal::WireBufferThenable< ::fuchsia_lowpan_bootstrap::Thread::ImportSettings> ImportSettings (::fuchsia_mem::wire::Buffer && thread_settings_json)

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.

Caller provides the backing storage for FIDL message.