fix: async runtime error

This commit is contained in:
xkeyC
2025-12-05 17:24:52 +08:00
parent 289691896d
commit 39ddea7254
8 changed files with 86 additions and 78 deletions

View File

@@ -16,7 +16,7 @@ import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart';
/// - default_download_dir: The default directory to store downloads
/// - upload_limit_bps: Upload speed limit in bytes per second (0 = unlimited)
/// - download_limit_bps: Download speed limit in bytes per second (0 = unlimited)
void downloaderInit({
Future<void> downloaderInit({
required String workingDir,
required String defaultDownloadDir,
int? uploadLimitBps,

View File

@@ -128,7 +128,7 @@ abstract class RustLibApi extends BaseApi {
Future<bool> crateApiDownloaderApiDownloaderHasActiveTasks();
void crateApiDownloaderApiDownloaderInit({
Future<void> crateApiDownloaderApiDownloaderInit({
required String workingDir,
required String defaultDownloadDir,
int? uploadLimitBps,
@@ -743,20 +743,21 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
);
@override
void crateApiDownloaderApiDownloaderInit({
Future<void> crateApiDownloaderApiDownloaderInit({
required String workingDir,
required String defaultDownloadDir,
int? uploadLimitBps,
int? downloadLimitBps,
}) {
return handler.executeSync(
SyncTask(
callFfi: () {
return handler.executeNormal(
NormalTask(
callFfi: (port_) {
var arg0 = cst_encode_String(workingDir);
var arg1 = cst_encode_String(defaultDownloadDir);
var arg2 = cst_encode_opt_box_autoadd_u_32(uploadLimitBps);
var arg3 = cst_encode_opt_box_autoadd_u_32(downloadLimitBps);
return wire.wire__crate__api__downloader_api__downloader_init(
port_,
arg0,
arg1,
arg2,

View File

@@ -1383,13 +1383,15 @@ class RustLibWire implements BaseWire {
_wire__crate__api__downloader_api__downloader_has_active_tasksPtr
.asFunction<void Function(int)>();
WireSyncRust2DartDco wire__crate__api__downloader_api__downloader_init(
void wire__crate__api__downloader_api__downloader_init(
int port_,
ffi.Pointer<wire_cst_list_prim_u_8_strict> working_dir,
ffi.Pointer<wire_cst_list_prim_u_8_strict> default_download_dir,
ffi.Pointer<ffi.Uint32> upload_limit_bps,
ffi.Pointer<ffi.Uint32> download_limit_bps,
) {
return _wire__crate__api__downloader_api__downloader_init(
port_,
working_dir,
default_download_dir,
upload_limit_bps,
@@ -1400,7 +1402,8 @@ class RustLibWire implements BaseWire {
late final _wire__crate__api__downloader_api__downloader_initPtr =
_lookup<
ffi.NativeFunction<
WireSyncRust2DartDco Function(
ffi.Void Function(
ffi.Int64,
ffi.Pointer<wire_cst_list_prim_u_8_strict>,
ffi.Pointer<wire_cst_list_prim_u_8_strict>,
ffi.Pointer<ffi.Uint32>,
@@ -1413,7 +1416,8 @@ class RustLibWire implements BaseWire {
late final _wire__crate__api__downloader_api__downloader_init =
_wire__crate__api__downloader_api__downloader_initPtr
.asFunction<
WireSyncRust2DartDco Function(
void Function(
int,
ffi.Pointer<wire_cst_list_prim_u_8_strict>,
ffi.Pointer<wire_cst_list_prim_u_8_strict>,
ffi.Pointer<ffi.Uint32>,