send method

  1. @override
Future<Map> send (
  1. Map message
)
override

Send the given command message.

Implementation

@override
Future<Map> send(Map message) async {
  _sock = await Socket.connect(host, port);
  _sock.add(utf8.encode(jsonEncode(message)));
  _sock.add(_terminator);
  final ds = List<int>();
  await for (Uint8List event in _sock) {
    ds.addAll(event);
    if (event[event.length - 1] == 0) {
      break;
    }
  }
  // Don't forget to remove the stupid terminator
  ds.remove(0);
  final resp = jsonDecode(utf8.decode(ds));
  await _sock.close();
  return resp;
}