call method
Implementation
@override
Future<(int, Uint8List)> call(int msgType, Uint8List payload) async {
if (_session == null) {
throw StateError('Not connected - call connectDevice() first');
}
final encoded = encodeFrame(msgType, payload);
try {
final responseBody = await _post(
'/call/${Uri.encodeComponent(_session!)}',
body: encoded,
);
return decodeFrame(responseBody);
} on Exception {
// Session may have been stolen by another client (e.g. Trezor Suite).
// Re-acquire and retry once.
await _reacquireSession();
final responseBody = await _post(
'/call/${Uri.encodeComponent(_session!)}',
body: encoded,
);
return decodeFrame(responseBody);
}
}