sendDataNode method

Future<bool> sendDataNode(
  1. String nodeId,
  2. String nodePath,
  3. List<String> keys,
  4. List<String> values,
)

Send a data node which include creating a new node and write the data

Implementation

Future<bool> sendDataNode(String nodeId, String nodePath, List<String> keys,
    List<String> values) async {
  if (keys.length != values.length) {
    log('The size of keys and values must be the same');
    return false;
  }
  try {
    Node node = NodeImpl(nodeId, pluginId, nodePath, Visibility.white);
    for (var i = 0; i < keys.length; i++) {
      await node.addValue(NodeValueImpl(keys[i], values[i]));
    }
    // node.visibility = Visibility.white;
    await storageController!.addOrUpdate(node);
    return true;
  } catch (e, trace) {
    log('Failed to send a data node: $nodePath');
    log(e.toString());
    if (exceptionHandler != null) {
      exceptionHandler!(e, trace);
    }
    return false;
  }
}